美文网首页
klass模型

klass模型

作者: nhhnhh | 来源:发表于2020-10-22 08:53 被阅读0次

学java的都知道,我们的代码是由一个个类文件组成,类文件编译成class文件放在jvm中去运行。那么class文件在jvm中又是如何存储呢。存储到jvm中的就是class文件吗?
Java的每个类,在JVM中,都有一个对应的Klass类实例与之对应,存储类的元信息如:常量池、属性信息、方法信息
Klass类的继承结构如下图所示:


图片.png

首先所有的klass文件都存储在jvm的metadata区。分为2个大类。
一个是普通的类文件对应的InstanceKlass类的实例。一个是java运行时生成的
ArrayKlass类。
InstanceKlass有3个子类:
1.InstanceMirrorKlass:用于表示java.lang.Class,Java代码中获取到的Class对象,实际上就是这个C++类的实例,存储在堆区,学名镜像类
2.InstanceRefKlass:用于表示java/lang/ref/Reference类的子类
3.InstanceClassLoaderKlass:用于遍历某个加载器加载的类
ArrayKlass有2个子类:
1.TypeArrayKlass:用于表示基本类型的数组
2.ObjArrayKlass:用于表示引用类型的数组

相关文章

  • 类模型

    HotSpot采用了OOP-Klass模型描述Java的类和对象。Klass模型采用Klass类及相关子类的对象来...

  • klass模型

    学java的都知道,我们的代码是由一个个类文件组成,类文件编译成class文件放在jvm中去运行。那么class文...

  • Hotspot Klass模型

    当创建一个对象的时候,你有没有发现新生区和元数据区内存占用都有所增加呢?而这和OOP-Klass二分模型有关。 O...

  • JVM源码实战 - OOP-Klass模型

    Github原文链接 1 OOP-Klass(Ordinary Object Pointer)模型 OOP-Kla...

  • JVM底层类加载

    Klass模型 Java中的每个类,在JVM中都有对应的Klass类实例与之对应,储存类的元信息如:常量池、属性信...

  • 类加载器子系统之类加载(一)

    一、klass模型 Java的每个类,在JVM中,都有一个对应的Klass类实例与之对应,存储类的元信息如:常量池...

  • JVM

    klass模型 Java的每个类,在JVM中,都有一个对应的Klass类实例与之对应,存储类的元信息如:常量池、属...

  • JVM随笔(一):oop-Klass模型以及类加载原理

    OOP-Klass模型 java中每个类在JVM中都有一个Klass类的实例与之相对应,存储类的元数据信息:常量池...

  • <--个人成长笔记系列-->知识点解析之synchronized

    JAVA知识点: (承接synchronized的实现原理) 对象存储: OOP-Klass 模型 去...

  • C++OOP对象的内存布局

    HotSpot采用了OOP-Klass模型来描述Java类和对象。OOP(Ordinary Object Poin...

网友评论

      本文标题:klass模型

      本文链接:https://www.haomeiwen.com/subject/atdsmktx.html