0%

object

1. 对象头

  • Mark Word 32

    • hashcode 25
    • 分代年龄 4
    • 锁标志位 2
    • 固定0 1

    锁标志位含义如下:

    biased_lock lock 状态
    00 01 无锁
    01 01 偏向锁
    00 00 轻量级锁
    00 10 重量级锁
    00 11 GC 标记
  • Klass Word

  • Array Length

上述 3 部分都占用 32 位(bits).
普通对象头只有前 2 个部分, 所以总共 64 位; 数组对象会多出一个数组的长度, 所以总共 96 位.

2. Resource

  • Java 高并发程序设计
  • 深入了解 Java 虚拟机