假设在java中我正在动态加载类A
类A
使用java标准库类和
用户定义的类。
我想知道什么是必须加载A
使用的所有类的类加载器?
感谢
答案 0 :(得分:0)
这取决于您设计加载类A
首先,类加载器之间将存在层次关系。
标准Java机制(父级优先):
通常在必须加载类时,默认情况下,它遵循以下模式:
特殊情况(儿童优先):
在这种情况下,子类加载器(即您的类加载器可以尝试加载类),如果此类加载器无法加载所需的类,则它可以要求父类加载该类。如果父级无法加载该类,则会引发ClassNotFoundException
在任何情况下,java核心类都应该由父类加载器加载 但理论上,只要您有权访问包含这些类的jar,您就可以始终使自定义类加载器加载这些类