如何处理Bootstrap类加载器?

时间:2014-08-12 17:26:55

标签: java classloader

在Java应用程序中,Bootstrap类加载器(用于从JRE加载类,如rt.jar)为空。也就是java.util.ArrayList.class.getClassLoader() == null

这很烦人,因为在编写使用反射的库时,必须使用适当的类加载器,有时候它是null。因此,如果ClassLoader为null,则库应该调用Class.forName(String, false, classLoader)而不是classLoader.loadClass(String)。顺便说一句,当classLoader为null时,静态方法Proxy.newProxyInstance(classLoader, interfaces, invocationHandler)可以正常工作。

但即使classLoader为null,是否还有ClassLoader.getResource(String)ClassLoader.getResources(String)的等价物?我能想到的最接近的是new ClassLoader(classLoader).getResource(String),但它使用了超出必要的额外SecurityManager权限。

0 个答案:

没有答案