Loading...
墨滴

lht94

2021/07/16  阅读:45  主题:默认主题

Java对象头

在 HotSpot 虚拟机中,对象在内存中的布局可以分成对象头、实例数据、对齐填充三部分。

  • 对象头:它主要包括对象自身的运行行元数据, 比如哈希码、 GC 分代年龄、锁状态标 志等,同时还包含一个类型指针,指向类元数据,表明该对象所属的类型。 - 实例数据:它是对象真正存储的有效信息,包括程序代码中定义的各种类型的字段(包 括从父类继承下来的和本身拥有的字段)。
  • 对齐填充:它不是必要存在的,仅仅起着占位符的作用。

对象头大小在 32 位 HotSpot VM 和 64 位 HotSpot VM 之间是不一样的,对象头在 32 位系 统上占用 8byte,在 64 位系统上占用 16byte。我们可以通过 Java 对象布局工具获取头大小,这 个工具简称为 JOL。

lht94

2021/07/16  阅读:45  主题:默认主题

作者介绍

lht94