-
对象组成
- 对象头(Header)= Mark Word + Class Pointer
- 实例数据(Instance Data)
- 对齐填充(Padding)
-
普通对象头
- 2个机器码
- x32:8 bytes
- x64:16 bytes
-
数组对象头:
- x64:24 bytes(多的8 bytes是数组长度)
-
reference:
x32:4 bytes
x64:8 bytes -
指针压缩
- -XX:+UseCompressedOops
- x64
- 普通对象头变为12 bytes(类型指针被压缩4字节)
- 数组对象头变为16 bytes(类型指针和数组长度分别被压缩4字节)
- reference变为4 bytes
网友评论