![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
不暗圣光
这个作者很懒,什么都没留下…
展开
-
AtomicInteger线程安全的int
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...原创 2019-06-28 16:22:56 · 924 阅读 · 0 评论 -
JAVA中CAS算法
CAS 比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令 下面代码是针对AtomicInteger的CAS操作,将count与1比较,若相同则变更为2,并返回true,否则返回false AtomicInteger count = new AtomicInteger(); Boolean b = count .ompareAndSet(1,2); //获取原子int相...原创 2019-06-28 16:55:33 · 226 阅读 · 0 评论 -
volatile关键字
volatile关键字 volatile关键字的作用是:编译器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。 volatile int i; Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出...转载 2019-06-28 17:23:22 · 40 阅读 · 0 评论 -
JAVA锁
java的锁机制 主要有2种锁:1. 悲观锁; 2. 乐观锁。 悲观锁: 一个典型的倚赖数据库的悲观锁调用: select * from city where cityName="BEIJING" for update 这条 sql 语句锁定了 city表中所有符合检索条件( cityName=“BEIJING” )的记录。 本次事务提交之前(事务提交时会释放事务过程中的锁),外界无法修改这些记录...原创 2019-06-28 17:49:36 · 103 阅读 · 0 评论