5 分钟讲明白 JVM、Java 、Java对象模型( 二 )


HotSpot虚拟机中,设计了一个OOP-Klass Model 。OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象实例的具体类型 。
每一个Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保存在方法区,用来在JVM层表示该Java类 。当我们在Java代码中,使用new创建一个对象的时候,JVM会创建一个instanceOopDesc对象,这个对象中包含了对象头以及实例数据 。

5 分钟讲明白 JVM、Java 、Java对象模型

文章插图
这就是一个简单的Java对象的OOP-Klass模型,即Java对象模型 。
总结
我们再来区分下JVM内存结构、 Java内存模型 以及 Java对象模型 三个概念 。
JVM内存结构,和Java虚拟机的运行时区域有关 。
Java内存模型,和Java的并发编程有关 。
Java对象模型,和Java对象在虚拟机中的表现形式有关 。
关于这三部分内容,本文并未分别展开,因为涉及到的知识点实在太多,如果读者感兴趣,可以自行学习 。后面也会发文介绍这些内容,敬请期待 。
最后,这三个概念非常重要,一定要严格区分开,千万不要在面试中出现答非所为的情况 。




推荐阅读