锁膨胀

Posted xuxu-dragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了锁膨胀相关的知识,希望对你有一定的参考价值。

偏向锁:

  会延迟开启,性能比轻量级锁好,没有其它线程会拿到此锁的对象。偏向锁与hasCode是互斥的。

轻量级锁:

  没有其它线程去竞争此锁对对象,其它线程可以交替执行。

重量级锁:

  有其它线程会去竞争拿到此锁对象,当调用wait()方法时,直接膨胀成重量级锁。

 

 

当在一个线程A中一个类的多个对象频繁多次膨胀成另一个线程B的轻量级锁。当膨胀了20次后,会批量将这个对象的类的所有对象都偏向为B线程。

 

技术图片

以上是关于锁膨胀的主要内容,如果未能解决你的问题,请参考以下文章

锁膨胀

synchronized优化手段:锁膨胀锁消除锁粗化和自适应自旋锁...

java 从hotspot底层对象结构理解锁膨胀升级过程

java-锁膨胀的过程

JVM中锁优化,偏向锁自旋锁锁消除锁膨胀

synchronized锁膨胀过程验证