JDK1.6 以后对 Synchronized 做了哪些优化?...的全部评论

JDK1.6 以后对 Synchronized 做了哪些优化?...的全部评论
1个评论

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

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

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

2023-02-06
下载 APP