赞
踩
https://edu.csdn.net/course/detail/36074
https://edu.csdn.net/course/detail/35475
在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、 实例数据(Instance Data)和对齐填充(Padding)。
在 JVM 中,Java对象保存在堆中时,由以下三部分组成:
对象头包括两部分信息,第一部分用于存储对象自身的运行时数据(MarkWord), 如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时 间戳等。对象头的另外一部分是类型指针(Klass Pointer),即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。
// oopDesc hotspot对象头
volatile markOop _mark;
union \_metadata {
wideKlassOop _klass;
narrowOop _compressed_klass;
} _metadata;
Mark Word在32
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。