对于ClassLoader,有一个名为findBootstrapClass
的方法,如果它是自举的,则返回一个Class。有没有办法找到已经加载的类?
答案 0 :(得分:3)
您可以尝试通过例如第一次获取引导类加载器调用
ClassLoader bootstrapLoader = ClassLoader.getSystemClassLoader().getParent();
然后按照此处的说明获取此类加载器的类:How can I list all classes loaded in a specific class loader。
但请注意,获取引导类加载器并不可靠,因为它可能不会明确存在。因此ClassLoader.getSystemClassLoader().getParent()
可能会返回null,如ClassLoader#getParent()的Javadoc所述:
返回委托的父类加载器。一些实现 可以使用null来表示引导类加载器。这种方法会 如果此类加载器的父级是,则在此类实现中返回null 引导类加载器。