7.2 对象布局设计的原理
目录介绍
- 02.对象的内存布局
- 2.1 对象头
- 2.2 实例数据
- 2.3 对齐填充
- 03.Java对象创建过程
- 3.1 创建类加载过程
- 3.2 对象的创建
- 3.3 对象的内存布局
- 04.JVM处理对象流程
- 4.1 如何创建
- 4.2 最佳存储模型
- 4.3 如何访问
02.对象的内存布局
- 分为3个区域:
- 对象头,实例数据,对齐填充。
- 如何查看对象布局
- https://zhuanlan.zhihu.com/p/151856103?from_voters_page=true
2.1 对象头
- 包括两部分信息
- 第一部分:对象自身的运行时数据,如哈希码,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID,偏向时间戳等,这部分数据的长度在32位和64位的虚拟机中分别为32 bit和64 bit,官方称它为“Mark Word”。
- 第二部分:类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实