1. 简图
ObjectMemoryStructure.png2. Java对象须知
1. Java对象在内存中的结构:
对象头 + 实例数据 + 对齐数据 -> ObjectHeader + InstanceData + padding
2. Java对象内存大小是8的倍数(可用jol-core验证)
3. 对齐区:if (对象头 + 实例数据) % 8 == 3,则补齐3位,补齐的这3位就是padding区。
4. object header = 标志区 + 指针区 -> MarkWord + ClassPointer
网友评论