jvm
文章平均质量分 68
迈克白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AQS知识点整理
即AbstractQueuedSynchronizer,队列同步器,是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类型的变量表示持有锁的状态;:AQS使用一个violatile的int类型的成员变量来表示同步状态,通过内置的FIFO队列来完成资源获取的排队工作,将每条要抢占资源的线程封装成一个Node节点来完成锁的分配,通过CAS完成对state值的修改;优点:所有的线程都能得到资源,不会饿死在队列中。原创 2023-06-11 01:24:13 · 161 阅读 · 0 评论 -
什么是CAS?
CAS底层用到的Unsafe类,Unsafe是CAS的核心类,Java方法无法直接访问底层系统,需要通过本地(native)方法来访问,Usafe相当于一个后门,基于该类可以直接操作特定内存的数据。因为CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。类来保证引用对象之间的原子性,原创 2023-06-11 00:14:25 · 536 阅读 · 0 评论
分享