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

这些类型的oop对象均是继承自oopDesc。
JVM源码实战 -  对象头_JVM
oopDesc主要包含

  • _mark
    _mark是一个markOop实例,它描述了一个对象的头信息,用于存储对象的运行时记录信息,如哈希值、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等
    JVM源码实战 -  对象头_jvm_02
  • _metadata
    • 一个普通_klass
    • 一个压缩后的_compressed_klass