java - getClassloader 返回 null 而不是引导类加载器

标签 java jvm classloader

众所周知,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/

相关文章:

java - 如何防止从jar加载类

java - Log4j "fallback"附加程序

java - 分析生成最多垃圾的 jvm 及其类型,逃逸分析优化

java - 实现过滤类加载器

java - Selenium Wire 日志为空

java - 如何运行kotlin类文件并指定一个或多个库jar文件?

java - java 初学者词法分析器

java - 如果应用程序崩溃,保存登录信息

java - 如何使用 thymeleaf 将值传递给 bootstrap 的数据?

java - 线程中的异常 "main"java.lang.StackOverflowError 递归