Java
面试官:说说volatile底层实现原理?
在 Java 并发编程中,有 3 个最常用的关键字:synchronized、ReentrantLock 和 volatile。 虽然 volatile 并不像其他两个关键字一样,能保证线程安全,但 volatile 也是并发编程中最常见的关键字之一。例如,单例模式、CopyOnWriteArrayList 和 ConcurrentHashMap 中都离不开 volatile。 那么,问题来了,
项目需要实现国际化?不妨来试试它
之前造了一个多语言国际化的轮子,第一个版本UI的体验感不是太好,用blazor重新实现了一个UI,体验感应该还算不错。 LinguaNex LinguaNex是一个多语言连接中心,主打一个一处配置多语言,多处使用的想法。让项目方便快捷实现国际化(多语言)。 可配关联项目,主项目关联其他项目即可获取其他项目的多语言资源,相同Key则优先取主项目中的资源(即覆盖)。 批量导入已存在项目多语言资源。
vue中draggable使用记录
NPM或yarn安装方式 yarn add vuedraggablenpm i -S vuedraggable UMD浏览器直接引用JS方式 <script src="https://www.itxst.com/package/vue/vue.min.js"></script><script src="https://www.itxst.com/package/sor
整数与浮点数类型运算与转换
核心点 由于Java是最强类型语言,所以要进行有些运算的时候,需要用到类型转换 低-------------------------------------------------------------------->高 byte,short,char -> int -> long - > float -> double 按字节大小排序不同类型运算兼容顺序 这
Java常用命令:jps、jstack、jmap、jstat(带有实例教程)
【JVM】jstat命令详解---JVM的统计监测工具 转载 java进程的PID获取命令: =========================================================== 1.jstat命令简介 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。 命令的格式如下: jstat [-命令选项] [
Windows11安装JDK8
1:Windows安装JDK8 1-1:双击运行jdk-8u381-windows-x64.exe 1-2:下一步 1-3:下一步 1-4:下一步 1-5:安装完成 2:配置环境变量 2-1:文件资源管理器->右键此电脑->属性 2-2:高级系统设置->环境系统变量 2-3:在系统变量里新建 2-4:Path变量中新增 点击确定 2-5:win+r运行c
原型模式 (设计模式)
对于熟悉JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式,即使JavaScript 引入了类的概念,但它也知识基于原型语法糖而已。 不过如果你使用的是java C ++ 你就很少使用原型模式。 原型模式的原理和应用: 如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段相同)在这种情况下可以使用原型模式。 为和对象的
Livewire 和 Alpine.js比较
Livewire 和 Alpine.js 是两个在构建交互式 Web 应用程序时常用的工具,它们在一些方面有相似之处,但也有一些关键区别。 Livewire 基于 Laravel:Livewire 是 Laravel 的一部分,与 Laravel 框架紧密集成,使得开发者可以使用 Laravel 的语法和功能来构建动态页面。 服务器端渲染:Livewire 是基于服务器端渲染的,它使用 P
vue3笔记 computed计算属性
计算属性有缓存的,方法没有缓存 下列的计算案例是只读的,不可修改的 上述代码为只读属性,优化后 <script setup lang="ts"> import { ref, computed } from 'vue' let name = ref("zhang") let xing = ref("sang") console.log(name.value) l
zookeeper的znode节点过多无法通过zkCli.sh移除节点
背景描述:zookeeper的一个目录下的znode节点过多,导致在执行ls 和rmr命令的时候,直接终止会话退出,无法递归删除下面的子节点,具体情况如下(生产环境的zookeeper是clickhouse的元数据管理集群,有一个故障是clickhouse副本同步堆积问题),接下来的操作需要知道这个子节点中的znode有序节点是怎么命名的,一般都是‘节点名称-000000xxxxxx’,由于无法获
vue中失去焦点判断
在Vue中,你可以通过监听blur事件来判断一个元素是否失去了焦点。blur事件会在元素失去焦点时触发。以下是一个简单的例子,展示了如何使用Vue来检测输入框是否失去了焦点: html Input has lost focus. 在这个例子中,我们有一个数据属性isBlurred来跟踪输入框是否失去了焦点。当输入框失去焦点时(即blur事件被触发),handle
Vue学习笔记25--过滤器(日期格式化)
日期格式化 日期格式化插件: https://www.bootcdn.cn/ moment.js、day.js(轻量级moment.js) 插件用法:双击day.js==>复制链接并访问==》另存为dayjs.min==》项目中引用 https://github.com/iamkun/dayjs/blob/dev/docs/zh-cn/README.zh-CN.md 过滤器总结: 定义
JAVA之CompletableFuture
目录CompletableFuture入门学习内容学习目标课程学习说明1、Future vs CompletableFuture1.1 准备工作1.2 Future 的局限性1.3 CompletableFuture 的优势2、创建异步任务2.1 runAsync2.2 supplyAsync2.3 异步任务中的线程池2.4 异步编程思想3、异步任务回调3.1 thenApply3.2 thenA
实战上,通过一段ID 生成器代码,学习如何发现,代码质量的问题(设计模式)
ID 生成器的需求背景介绍 ID 中文翻译为标识Identifier ,这个概念在生活,工作中随处可见,比如身份证、商业条形码、二维码、车牌号、驾照号。聚焦到软件开发中,ID 常用来标识一些业务信息的唯一标识,比如订单的单号或者数据库中的唯一主键,比如地址中ID 字段(实际上时没有业务含义的,对用户来说时透明的,不需要关注) 假设你正在参加一个后端的业务系统开发,为了方便在请求出错时排查问题,我们
Pmd-ida 插件安装使用
Pmd-ida代码工程: https://github.com/ybroeker/pmd-idea Pmd-idea主页:https://plugins.jetbrains.com/plugin/15412-pmd-idea 路径:file->setting->plugins->Marketplace,国内在线安装下载吧不到安装包,到https://github.c
Redis的常用数据类型与操作
Redis简介 Redis是一个基于内存的 key-value 结构数据库(内存存储)(键值对) Mysql是将数据,是通过数据文件的方式存放在磁盘上(磁盘存储)(二维表) Redis特点 抢购秒杀,或者新闻热点,大量的用户去访问的数据,就适合存放在Redis中,是对mysql的补充,往往项目中是和mysql共存的状态 redis进行cmd命令记得tab进行自动扩展……server ……conf启
使用jenkins发布springboot前后端分离的项目并发布至远端服务器
第一步----jenkins安装,详情见如下: Beginning March 28, 2023, the Jenkins weekly releases will use new repository signing keys for the Linux installation packages. The same change will be made in Jenkins LTS rel
greenplum5.17安装手册
前置: 软件安装包下载: 可以从官方下载(需要账号) https://network.pivotal.io/products/vmware-greenplum#/releases/301769/file_groups/1397 也可以从csdn 地址下载: 1.修改主机名IP映射关系,编辑/etc/hosts文件 2.修改主机名,编辑/etc/hostn
Eclipse在末尾快速键入;
1.问题 每次都要移动光标到末尾加入分号,是一件十分麻烦的事对吧,如何快速在末尾键入;呢? 2.解决 2.1 打开Eclipse的Preferences选项,在里面找到java>Editior>Typing,并勾选如图所示选项即可 2.2 重点!!!如何快速键入? 这里并不是VSCODE中那种保存时自动键入,而是无论你在该行何处输入一个;,都会自动定位到改行末尾位置输出!!! 相当于
Set集合为何必须要重写类中的HashCode和equals方法?
1.问题 我们知道Set集合必须要重写HashCode和equals方法,原因是什么呢? 2.解决 最重要的原因是Set集合有不包含重复元素的特性!!! 这个重复元素由谁来定义他是否重复呢?就是由类中的HashCode和equals方法, 先由HashCode判断,但是存在Hash冲突情况,一个桶可能有多个,所以再使用equals方法进行一次比较即可! 参考:[使用Set集合为何要重写hashco
jvm内存溢出解决方法
T omcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Jav