JVM体系
》类加载机制
》编译与反编译
》JVM内存结构
》JVM内存模型
》垃圾回收
》JVM参数及调优
》JVM对象模型

对象的组成:

对象头(header)实例数据(InstanceData)对象填充(padding)     

对象头的组成:

类型指针 对象自身运行的数据 数组长度(数组的时候才有)

类型指针(klass)

对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例

自身的数据(markword)

用于存储对象自身的运行时数据
数据:图示(32位的JVM)

图片说明

数组长度

如果对象是一个数组, 那在对象头中还必须有一块数据用于记录数组长度.

实例数据

对象真正存储的真正数据

对象填充

并不是一定存在的,起着占位符的作用
作用实例数据不满足8的倍数的时候,起到填充的作用