cas compare and swap,比较交换,atomic原子类,native unsafe compareAndSwap,汇编实现
asm汇编,lock xchge,多核多线程lock其他核其他线程不能操作,保证原子性
AtomicInteger
------------------unsafe
-----------------------compareandswap
ReentrantLock
------------------unsafe
-----------------------compareandswap
synch锁升级过程,根据竞争情况升级
无锁(new)->偏向锁(占用标签)->轻量级锁自旋锁->重量级锁(操作系统底层内核态申请)
markword |记录锁状态信息
classpoint 类型指针 | 对象头
数据
padding补齐
锁降级
CMS垃圾收集
锁粗化
锁范围
线程 线程栈
volatile 线程可见性
乱序,命令执行
cache line缓存行
读取缓存读取目标数据包括范围数据,块读取,根据几率使用附近范围数据可能性比较大
ALU(计算单元) CPU <----------------------------- 内存
register(寄存器)