《石杉的架构笔记》学习笔记
《石杉的架构笔记》的学习笔记
*** 说明:本笔记为学习了石杉老师的《石杉的架构笔记》的总结和记录,其中的图也是用的老师的原图,本文仅仅用于本人做学习笔记,想了解更多更详细内容,请自行找石杉老师的原版书籍学习。 ***
volatile
volatile每次读变量都会先从主内存取值,同时强制刷新工作内存内的值(即读值以主内存的值为准)。
volatile每次写变量都会先更新工作内存,然后强制同步刷新到主内存(即写的时候,保证主内存和工作内存都更新为新的值)
CAS
CAS全称Compared And Set,先比较后设置的意思。Atomic类的底层原理就是用CAS。开始先取得一个值,做完操作后,设置之前先跟开始时取得的值比较,前后一致才设置,否则自旋重复第一步操作。是实现Atomic 原⼦类的底层原理。
为了解决CAS大量空转问题,java8新增一个LongAdder类,使用CAS加分段迁移提高并发量
AQS
- AQS全称AbstractQueuedSynchronizer,是实现ReentrantLock类的底层原理。
ReentrantLock
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!