JVM中的类加载器
JVM中的类加载器可以分为以下三个层次:
1. 启动类加载器(Bootstrap ClassLoader):负责加载Java的核心类库,如rt.jar、resources.jar等。
2. 扩展类加载器(Extension ClassLoader):负责加载JRE扩展目录(ext)中的jar包。
3. 应用程序类加载器(Application ClassLoader):负责加载应用程序classpath目录下的类,也就是我们自己编写的Java类。
下面分别以这三种类加载器为例,说明它们的核心功能以及如何使用它们加载类。
1. 启动类加载器(Bootstrap ClassLoader)
启动类加载器是JVM内置的类加载器,它负责加载Java的核心类库,如rt.jar、resources.jar等。由于启动类加载器是C++语言实现的,并不是Java代码,因此我们无法直接操作它。
2. 扩展类加载器(Extension ClassLoader)
扩展类加载器是Java语言实现的类加载器,它负责加载JRE扩展目录(ext)中的jar包。在Windows上,JRE扩展目录通常是`C:\Program Files\Java\jdk\jre\lib\ext`。如果我们需要在程序中加载某个JRE扩展中的类,可以通过如下代码实现:
URL url = new URL("file:/C:/Program Fil