1、图解锁升级

图解锁升级过程

  锁信息记录在markword中:

  • 普通对象:001;
  • 匿名偏向,偏向锁:101;
  • 轻量级锁:00;
  • 重量级锁:10;

对应如下:

图解锁升级过程 

2、案例

为了证明以上的过程,我们可以使用一些工具来观察,在这里我们使用JOL(Java Object Layout)。

需要添加依赖:

图解锁升级过程

以下面的代码为例,就是一个生成一个对象的代码:

图解锁升级过程

  运行后,结果如下:

 图解锁升级过程

图中红色部分表示锁,001是普通对象,无锁态。

前8个字节就是markword,第9-12个字节是指针。第13-16是补充对齐。

 

Over......

 

相关文章:

  • 2021-08-15
  • 2022-03-08
  • 2021-11-28
  • 2021-04-09
  • 2022-01-04
  • 2022-12-23
  • 2021-09-07
  • 2021-07-21
猜你喜欢
  • 2021-10-09
  • 2021-12-12
  • 2021-09-25
  • 2022-01-28
  • 2021-06-02
  • 2022-12-23
  • 2021-11-01
相关资源
相似解决方案