仅作为个人记录知识点用
1 用户态与内核态
2 CAS
- Unsafe->native方法(C++实现)->汇编指令 lock cmpxchg->锁总线(硬件锁)
- 硬件锁:MESI、内存屏障
- 避免系统调用
3 synchronized锁
- new Object()内存四个方面
- markword
- Class point
- Padding
- Markword标识锁类型
- 锁升级
3.1 偏向锁
- 升级时机:有线程来竞争
- 4秒后启动?是因为有可能4秒内直接进入轻量级锁,就不会有先上偏向锁的过程
3.2 轻量级锁
3.3 重量级锁
-
Wait()-->进入等待队列
-
等待队列不消耗CPU
3.4 锁重入
- synchronized嵌套
- 锁和解锁要对称
- 嵌套锁了多少次记录在栈针
- 意义:支持父类锁,子类锁嵌套
4 GC
- 几种类型:PS+PO,G1,。。。
- 最多多少代:15代(四bit,最大15),6代
5 JIT
6 HSDIS
- 查看synchronized,volatile字节码

每日一学--synchronized相关
原文:https://www.cnblogs.com/wod-Y/p/12885371.html