1.对象的创建
按顺序为:
1.给对象分配内存
2.初始化对象
3.执行构造方法
2.对象的结构
2.1 Header(对象头)
-自身运行时的数据
--哈希值 GC分带年龄 锁状态标志 线程持有的锁 偏向线程ID 偏向时间戳
-类型指针
2.2 InstanceData
longs doubles shorts /chars
2.3 Padding
3.对象的访问定位
-使用句柄
-直接指针
如下图:
按顺序为:
1.给对象分配内存
2.初始化对象
3.执行构造方法
-自身运行时的数据
--哈希值 GC分带年龄 锁状态标志 线程持有的锁 偏向线程ID 偏向时间戳
-类型指针
longs doubles shorts /chars
-使用句柄
-直接指针
如下图: