JVM - java对象模型 Oop-Kclass 模型
Oop-Kclass 模型
Oop-Kclass 模型组成
- OOP 英文全程是Ordinary Object Pointer,即普通对象指针,看起来像个指针实际上是藏在指针里的对象,表示对象的实例信息
- Klass 元数据和方法信息(类的继承,成员变量,静态变量,成员方法等等),用来描述 Java。是Java类的在C++中的表示形式,用来描述Java类的信息
mark_word 存储结构
mark_word中存储结构
- 锁状态
- 对象的 hashCode
- 对象分代年龄
- 偏向锁标识
- 锁标志位
在32位虚拟机中,对象头占4个字节,在64位虚拟机环境下, 对象头是8个字节
两模型三维度
JVM内部基于 oop-kclass 模型描述一个Java类,一个是 oop, 一个是 kclass