1、什么是 ClassLoader

ClassLoader 是一个 Java 虚拟机的组件,它的主要作用是加载 Java 类。ClassLoader 负责将类文件从硬盘或者其他地方加载到内存中,并且把它们转换成 Java 类的实例,这些实例被称为类对象。ClassLoader 也负责检查加载的类是否有安全漏洞,以确保系统的安全。

2、ClassLoader 的主要功能

ClassLoader 的主要功能是加载 Java 类,但它还具有其他功能:

1、ClassLoader 负责检查加载的类是否有安全漏洞,以确保系统的安全。

2、ClassLoader 可以检查加载的类是否符合 Java 虚拟机规范,以确保类可以在 Java 虚拟机上正常运行。

3、ClassLoader 可以检查加载的类是否与当前类兼容,以确保类可以正常运行。

4、ClassLoader 可以实现类的动态加载,可以在运行时动态加载新的 Java 类。

3、ClassLoader 的分类

ClassLoader 可以分为三类:

1、Bootstrap ClassLoader:Bootstrap ClassLoader 是 Java 虚拟机的内置类加载器,它负责加载 Java 的核心类库,如 java.lang.*、java.util.* 等,它是由 C++ 编写的,无法被 Java 程序直接调用。

2、Extension ClassLoader:Extension ClassLoader 是用来加载 Java 的扩展类库,它位于 Bootstrap ClassLoader 之上,由 Java 语言实现,可以被 Java 程序直接调用。

3、Application ClassLoader:Application ClassLoader 是用来加载应用程序的类库,它位于 Extension ClassLoader 之上,也是由 Java 语言实现,可以被 Java 程序直接调用。