对象在内存中存储的布局分为3块区域:对象头,实例数据,对齐填充
对象头:包含两部分信息,第一部分存储对象对象运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID,偏向时间戳。第二部分是类型指针,即对象指向它的类元数据的指针,jvm通过这个指针来指明这个对象是那个类的实例。
实例数据:存储对象真正的有效信息,在程序代码中所定义的各种类型的字段内容(无论是从父类继承下来的,还是在子类定义的)。
对齐填充:没有特别的含义,不是必然存在的,仅仅启着占位符的作用。+
对象在内存中存储的布局分为3块区域:对象头,实例数据,对齐填充
对象头:包含两部分信息,第一部分存储对象对象运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID,偏向时间戳。第二部分是类型指针,即对象指向它的类元数据的指针,jvm通过这个指针来指明这个对象是那个类的实例。
实例数据:存储对象真正的有效信息,在程序代码中所定义的各种类型的字段内容(无论是从父类继承下来的,还是在子类定义的)。
对齐填充:没有特别的含义,不是必然存在的,仅仅启着占位符的作用。+