Java 并发

JVM对Synchronized关键字的优化

2019-03-05  本文已影响45人  Real_man

Java对象头和Monitor是实现synchronized关键字的基础。

对象头

对象头在内存中的布局:

重点说下对象头,对象头的结构:

Java中对象在创建的时候就自带了一把Monitor。早期版本中的synchronized依赖mutex lock实现,其底层依赖操作系统的内核态,开销很大,所以早期的加锁性能很低。而后来,HotSpot对synchronized做了很大的优化,现在的效率很不错了。

如:

参考:Java高效并发(九)

Image result for Java object header

锁升级

Synchonized的四种状态:

image-20190305082526875 image.png

参考

上一篇 下一篇

猜你喜欢

热点阅读