编程导航在JDK1.6 以后对 Synchronized 做了哪些优化?下的评论详情

「编程导航」在《JDK1.6 以后对 Synchronized 做了哪些优化?》下的评论详情
编程导航

DK1.6 之前是重量级锁,他加锁底层是通过系统的mutex相关指令实现,会有用户态和内核态之间的切换,十分消耗性能。

JDK1.6之后对synchronized底层做了优化,引入了偏向锁、轻量级锁、在JVM层面实现加锁的逻辑,不依赖底层操作系统,就没有状态切换的消耗。同时引入自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。

所以在对象头的Mark word 锁主要存在四种状态依次是:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态,他们会随着竞争的激...

2023-02-06
0条回复
暂无数据
这条评论还没有人回复~
下载 APP