众所周知,rt.jar 库中的类是通过 Bootstrap Classloader 加载的。 java.lang是rt.jar库的一部分。
但是,这个示例
System.out.println(ArrayList.class.getClassLoader());
打印 null
而不是 BootstrapClassLoader
之类的内容。
另外,我知道 BootstrapClassLoader 不是用 Java 编写的。 会是这个原因吗? 我怎样才能确保该类是由 BootstrapCL 加载的?
最佳答案
Class#getClassLoader
文档明确警告您有关此情况的信息。
Returns the class loader for the class.
Some implementations may use null to represent the bootstrap class loader.
请记住始终查看相关的JavaDoc。这对一切都有效,有时甚至可能是救星。
关于java - getClassloader 返回 null 而不是引导类加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54932516/