synchronized 实现过程

今日看马士兵老师讲解synchronized 实现过程    以自己的理解记录

1.java代码使用 :synchronized 关键字放入代码块或方法

2.编译过程: 字节码文件中编译的synchronized关键字   其实就是一个监视器,monitorenter进入监视器 (进入锁状态)   ,   moniterexit 退出监视器 (退出锁状态)

3.执行过程:执行过程中,自动锁升级

      锁升级步骤:

          创建对象  --》偏向锁  --》轻量级锁(自螺旋十遍)--》重量级锁

4. 底层汇编语言:lock comxchg

posted @ 2020-12-03 15:17  韩小陌  阅读(132)  评论(0编辑  收藏  举报