并发系列—synchronized锁升级状态

锁升级过程:无锁 ==》偏向锁 ==》轻量级锁==》重量级锁

锁状态对应内存中头部信息第一排第一段后三位(有的状态是后两位)

  • 无锁:001
  • 偏向锁:101
  • 轻量级锁:00
  • 重量级锁:10

使用JOL查看对象内存信息

Person person = new Person();
System.out.println(ClassLayout.parseInstance(person).toPrintable());
person.setAge(999);
person.setName("jack");
System.out.println(ClassLayout.parseInstance(person).toPrintable());

并发系列—synchronized锁升级状态_第1张图片

无锁001 并发系列—synchronized锁升级状态_第2张图片

偏向锁:101

并发系列—synchronized锁升级状态_第3张图片

轻量级锁:00并发系列—synchronized锁升级状态_第4张图片

你可能感兴趣的:(锁,synchronized,JOL)