Earyant的技术博客

欢迎来到Earyant的技术博客,在这里我将与你分享新技术。

java类解析

Java对象头

一般占用两个机器码,在32位虚拟机中,一个机器码占用4个字节,就是32位,但是如果是数组,需要占用3个机器码,需要1位确认数组大小。

  • 标记字段
    • 哈希码
    • GC分代年龄
    • 锁状态标志
    • 线程持有的锁
    • 偏向线程ID
    • 偏向时间戳
  • 类型指针

    | 25bit | 4bit | 1bit | 2bit |
    | —- | —- | —- | —- |
    | 对象的hashCode | 分代年龄 | 是否是偏向锁 | 锁标记位 |

欢迎关注我的其它发布渠道