原文链接
对象在堆内存的布局分为三个区域:
对象头:对象头包括两部分信息分别是Mark World(_mark)和元数据(_metadata),Mark World用于存储对象运行时的数据,比如HashCode、锁状态标志、GC分代年龄等。而元数据指针用于指向方法区的中目标类的类型信息,通过元数据指针可以确定对象的具体类型。实例数据:用于存储对象中的各种类型的字段信息(包括从父类继承来的)。对齐填充:对齐填充不一定存在,起到了占位符的作用,没有特别的含义。