对象头的可视化.jpg

lock record

  • 解析到_monitorenter指令时,会在当前线程的栈帧里面 创建一个BasicObjectLock(JVM里面称为 **lock record** )对象
  • lock record虽然在栈帧里面,但是是C++层面的,对java是不可见的

image.png

  • 把当前锁对象的markword存储到lock Record当中的displaced header

image.png