第十九章《类的加载与反射》第2节:类加载器
admin
2024-03-12 01:59:35

类加载器负责把.class文件加载到内存中并生成对应的Class类对象,本小节将讲解类加载器的种类、工作原理以及如何自定义类加载器。

19.2.1类加载机制

类加载器负责加载所有的类,系统为所有被载入内存中的类生成一个Class类的对象实例。一旦一个类被载入内存中,同个类就不会被再次载入了。那么,如何样才算“同一个类”呢?正如一个对象有一个唯一的标识一样,一个载入内存中的类也有一个唯一的标识。 在Java语言中,一个类用包名以及自身的类名作为唯一标识,但在类加载机制中,一个类用包名、类名和其类加载器作为唯一标识。例如,如果在pg的包中有一个名为Person的类,它被类加载器ClassLoader对象k1加载,则该Person类对应的Class对象在表示为(Person、pg、k1)。 如果用ClassLoader对象k2加载这个类,则这个类的Class类对象被表示为(Person、pg、k2),在虚拟机看来,(Person、pg、k1) 和(Person、pg、k2) 是不同的,它们是互不兼容的。

Java虚拟机刚启动时,会有三个类加载器组成一个类加载器组,这个组中的成员包括:

  • Bootstrap ClassLoader:根类加载器
  • Extension ClassLoader:扩展类加载器

相关内容

热门资讯

湖南的辣与江西的辣 在《“孪生兄弟”——湖南与江西?》一文中,我们一同“触摸”并感受了两地相似的山川脉络、江河湖泊与亭台...
这趟恩施之旅,见证了热情淳朴的... 恩施这片神奇的土地,用短短五天时间就在我心里刻下了无法磨灭的印记。那些云雾缭绕的山峰、清澈见底的溪流...
原创 湘... “桂林山水甲天下,阳朔山水甲桂林”一说,增加了我们到阳朔去的迫切期待。26日下午,我们终于坐上了从桂...
走起!去太行一号旅游公路五台山... 作图:宫可欣来源:五台山管委会
巡湘记荣登2025第九届中华餐... 2025年11月13日,上海新国际博览中心见证了餐饮界的一场盛会——“2025第22届中华餐饮双创论...