【Java系列】Java虚拟机—类加载器介绍
public class ClassLoaderDemo {
public static void main(String[] args) {
// 获取系统类加载器
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
System.out.println("系统类加载器:" + systemClassLoader);
// 获取系统类加载器的父加载器,即扩展类加载器
ClassLoader extClassLoader = systemClassLoader.getParent();
System.out.println("扩展类加载器:" + extClassLoader);
// 尝试获取扩展类加载器的父加载器,注意这里返回null,因为Java虚拟机的内置类加载器
// 是C++实现的,不是java.lang.ClassLoader的子类,因此我们无法在Java代码中获取到它
ClassLoader bootClassLoader = extClassLoader.getParent();
System.out.println("引导类加载器:" + bootClassLoader);
// 自定义类加载器示例
ClassLoader appClassLoader = ClassLoaderDemo.class.getClassLoader();
System.out.println("应用类加载器:" + appClassLoader);
}
}
这段代码演示了如何在Java程序中获取和打印出不同类加载器的信息。这对于理解Java中类加载器的层次结构和工作原理非常有帮助。
评论已关闭