类加载器有哪些?
类加载器(ClassLoader)用于动态加载 Java 类到 Java 虚拟机中。主要有四种类加载器:
①、启动类加载器(Bootstrap ClassLoader)负责加载 JVM 的核心类库,如 rt.jar 和其他核心库位于JAVA_HOME/jre/lib
目录下的类。
②、扩展类加载器(Extension ClassLoader):由sun.misc.Launcher$ExtClassLoader
(或其它类似实现)实现。负责加载JAVA_HOME/jre/lib/ext
目录下,或者由系统属性java.ext.dirs
指定位置的类库。
③、应用程序类加载器(Application ClassLoader):由sun.misc.Launcher$AppClassLoader
(或其它类似实现)实现。
负责加载系统类路径(classpath)上的类库,通常是我们在开发 Java 应用程序时的主要类加载器。
我们编写的任何类都是由应用程序类加载器加载的,除非显式使用自定义类加载器。
④、用户自定义类加载器 (User-Defined ClassLoader),我们可以通过继承java.lang.ClassLoader
类来创建自己的类加载器。
这种类加载器通常用于加载网络上的类、执行热部署(动态加载和替换应用程序的组件)或为了安全目的自定义类的加载方式。
THE END
暂无评论内容