普通对象
-
对象头:markword 8个字节
对象头含有:锁定对象信息
GC标记(分代年龄)只能用4bit最大表示15所以GC年龄默认为15
-
ClassPointer指针:-XX:+UseCompressedClassPointers 为4字节 不开启为8字节(不是OOPS指针)
-
实例数据
-
引用类型:-XX:+UseCompressedOops 为4字节 不开启为8字节 (Oops Ordinary Object Pointers)
-
-
Padding对齐,8的倍数
数组对象
-
对象头:markword 8个字节
-
ClassPointer指针
-
数组长度:4字节
-
数组数据
-
对齐 8的倍数
对象定位问题
1:句柄池 (指针池)间接指针,节省内存
2:直接指针,访问速度快