探究Jvm源码实现-MarkWord

在Hotspot中,markOop的定义在 markOop.hpp文件中,代码如下

探究Jvm源码实现-MarkWord

Mark word记录了对象和锁有关的信息,当某个对象被synchronized关键字当成同步锁时,那么围绕这个锁的一系列操作都和Mark word有关系。

Mark Word在32位虚拟机的长度是32bit、在64位虚拟机的长度是64bit。 

Mark Word里面存储的数据会随着锁标志位的变化而变化,Mark Word可能变化为存储以下5中情况 

探究Jvm源码实现-MarkWord

 

上一篇:java中的synchronized只是重量级锁吗?聊一聊synchronized锁升级流程


下一篇:从Java对象布局markword看syncronized的本质