【发布时间】:2021-01-05 18:49:22
【问题描述】:
我正在尝试通过查看ClassLoaders 中的一些动态创建的组件来调试一个非常奇怪的类错误。 ClassLoaders 是我从来没有玩过的东西 - 我很惊讶标准 JDK 类有 null 类加载器实例。
有人可以根据我尝试打印其加载器的类来解释这个简单的 main 方法的输出吗?更一般地说:
-
ClassLoaders 在 JVM 上的工作方式和 - 我们如何使用
ClassLoaders 调试缺失的类。
public class MyClass {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(relfect.MyClass.class.getClassLoader());
System.out.println(String.class.getClassLoader());
System.out.println(ArrayList.class.getClassLoader());
System.out.println(JButton.class.getClassLoader());
System.out.println(System.class.getClassLoader());
Boolean b = new Boolean(true);
System.out.println(b.getClass().getClassLoader());
}
}
输出
sun.misc.Launcher$AppClassLoader@1f7182c1
null
null
null
null
null
【问题讨论】:
-
这个问题似乎离题了,因为 StackOverflow 不能替代琐碎的 JDK 文档。
标签: java classloader