JVM源码实战 - 对象头

JVM是由一个对应角色的oop对象来描述Java对象
instanceOopDesc用来描述普通实例对象
arrayOopDesc用来描述数组对象

这些类型的oop对象均是继承自oopDesc。

oopDesc主要包含

  • _mark
    _mark是一个markOop实例,它描述了一个对象的头信息,用于存储对象的运行时记录信息,如哈希值、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等
  • _metadata
    • 一个普通_klass
    • 一个压缩后的_compressed_klass
发布了331 篇原创文章 · 获赞 150 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_33589510/article/details/103286141