java中的锁是存储在对象头中的。关于对象头的概念,可以查看https://blog.csdn.net/jerry010101/article/details/84868338了解。
锁升级:无锁 --> 偏向锁(UserBiasedLocking表示是否开启偏向锁,未开启则直接升级到轻量锁)--> 轻量锁 --> 重量锁
这里用两张图记录下synchronized的使用,java线程访问后是如何获取锁的。
java中的锁是存储在对象头中的。关于对象头的概念,可以查看https://blog.csdn.net/jerry010101/article/details/84868338了解。
锁升级:无锁 --> 偏向锁(UserBiasedLocking表示是否开启偏向锁,未开启则直接升级到轻量锁)--> 轻量锁 --> 重量锁
这里用两张图记录下synchronized的使用,java线程访问后是如何获取锁的。