【Java小知识点】类加载器的区别
类加载器(Class Loader)在Java中负责加载Java类到Java虚拟机中。Java中有多种类加载器,包括如下几种:
- 启动类加载器(Bootstrap Class Loader):负责加载JRE的核心类库,如jre/lib/rt.jar。
- 扩展类加载器(Extension Class Loader):负责加载JRE的扩展类库,如jre/lib/ext/*.jar。
- 系统类加载器(System Class Loader)/ 应用程序类加载器(Application Class Loader):负责加载用户类路径上的类库。
- 用户自定义类加载器:用户可以通过继承java.lang.ClassLoader类创建自定义类加载器,以实现特殊的类加载需求。
类加载器之间的关系如下:
+- Bootstrap Class Loader
|
+- Extension Class Loader
|
+- System Class Loader
|
+- Custom Class Loader
类加载器之间存在父子关系,系统类加载器是应用程序的默认类加载器。当要加载的类没有指定类加载器时,系统类加载器会作为默认的类加载器。自定义类加载器如果没有显式指定父加载器,通常继承自应用程序类加载器。
类加载器的区别主要在于它们加载的位置和方式,以及它们之间的父子关系。
评论已关闭