JVM中可以存在多少个类文本实例



我从未专门使用过class literals。我认为它们主要用于反射api。我想了解类文字可以有多少个实例?它们是instance controlled(例如辛格尔顿?)吗

Class<String> stringClass = String.class;

class对象(至少在理论上)是在加载类时创建的。每个班只有一个。然而,将其称为singleton是不正确的,因为有多个Class对象,每个对象都用于给定的类,就像可以有多个具有不同值的String对象一样。

请注意,如果由不同的类加载器加载,则可以有两个名为"a.b.c"的不同类对象。这将是两个不同的类(它们甚至可能不相似)和两个截然不同的Class对象。

class由class Loader加载为堆中的Object。

因此,每个类加载器只存在一个类文字实例

但是,您可以在代码中创建尽可能多的类型类实例。

相关内容

  • 没有找到相关文章