gpt4 book ai didi

java - 什么是克拉斯和克拉斯克拉斯

转载 作者:IT老高 更新时间:2023-10-28 20:34:50 24 4
gpt4 key购买 nike

JVM热点实现中的Klass & KlassKlass是什么?

据我了解 Presenting the Perm Generation , Klass 是 Java 类的内部表示(比如 A),它将包含有关类结构的基本信息,包括字节码。它将作为对象本身存储。 A 类的每个对象都有一个指针,指向 PermGen 中存在的内部表示 Klass

KlassKlass 是 Klass 类本身的内部表示。为什么需要KlassKlass?它存储了哪些额外信息?

另外,一个KlassKlass的 Klass指针指向自己,我也没看懂。

最佳答案

Permanent Generation a.k.a permgen 是指存储所有类相关信息的地方。它有时被称为方法区。

我们以下面的代码为例:

public class Parent
{
...
}

这里:

  • new Parent()Parent 的对象类。
  • (new Parent()).getClass()Klass的 parent 。此对象的引用类型为 java.lang.Class<Parent> .这将存储有关 Parent 的信息的注解、构造函数、字段、方法、继承(父类(super class)、接口(interface))等
  • KlassKlass 将是 (new Parent()).getClass().getClass() .此对象的引用类型为 java.lang.Class<java.lang.Class> .这定义了关于 java.lang.Class 的信息。的注解、构造函数、字段、方法、它的继承(父类(super class)、接口(interface))等。

理论上,这条链可以继续,但 KlassKlassKlass 与 KlassKlass 相同。

简而言之,KlassKlass 意味着您将拥有一个 java.lang.Class定义 java.lang.Class 行为的对象自己。

希望对你有帮助

关于java - 什么是克拉斯和克拉斯克拉斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com