1

众所周知,rt.jar 库中的类是通过 Bootstrap 类加载器加载的。java.lang 是 rt.jar 库的一部分。

然而,这个样本

System.out.println(ArrayList.class.getClassLoader());

打印null而不是类似BootstrapClassLoader.

另外,我知道 BootstrapClassLoader 不是用 Java 编写的。这可能是原因吗?以及如何确保 BootstrapCL 加载了该类?

4

1 回答 1

2
Class#getClassLoader

该文档明确警告您有关这种情况。

返回类的类加载器。
一些实现可能使用 null 来表示引导类加载器

请记住始终查看相关的JavaDoc。这对一切都有效,有时它可能是救命稻草。

于 2019-02-28T19:03:24.350 回答