美文网首页
有哪些常见的类加载器?

有哪些常见的类加载器?

作者: JAVA加油 | 来源:发表于2024-04-23 08:25 被阅读0次

    Java中常见的类加载器包括以下几种:

    启动类加载器(Bootstrap Class Loader): 它是Java虚拟机的一部分,负责加载Java核心类库,如java.lang和java.util等。启动类加载器是用本地代码实现的,不是Java类,因此在Java代码中无法直接获取对应的类对象。

    扩展类加载器(Extension Class Loader): 它是sun.misc.Launcher$ExtClassLoader类的实例,负责加载Java扩展库,位于<JAVA_HOME>/lib/ext目录下的JAR文件。扩展类加载器是由启动类加载器加载的。

    应用程序类加载器(Application Class Loader): 它是sun.misc.Launcher$AppClassLoader类的实例,也称为系统类加载器。它负责加载应用程序的类,包括应用程序的类路径(classpath)下的类文件。应用程序类加载器是由扩展类加载器加载的。

    除了上述常见的类加载器,还可以使用自定义类加载器来实现特定的类加载需求,例如动态加载类、从非标准位置加载类等。自定义类加载器需要继承自java.lang.ClassLoader类,并重写findClass()方法来实现自定义的类加载逻辑。

    需要注意的是,不同的类加载器具有不同的加载范围和优先级,类加载器之间按照层次结构进行组织和委派。这种层次结构的组织方式确保了类的唯一性和相等性,并提供了类隔离和版本隔离的能力。

    相关文章

      网友评论

          本文标题:有哪些常见的类加载器?

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