【发布时间】:2014-06-16 14:48:51
【问题描述】:
分析以下代码:
public class A {
public void foo() {
B b = new B(); // row#1
b.toString();
}
据我了解,row#1 类中的类加载器由类 A 的类加载器加载。
考虑类B:
class B {
C c = new C();
}
请说明将使用哪个类加载器来加载类C。
更新
在我获得B 类的类加载器并编写以下代码后:
classloaderOfClassB.loadClass("A")
请说明所有涉及的类将使用什么类加载器。
【问题讨论】:
-
也许类加载器“知道”
C。因此,这在很大程度上取决于您的环境。还是您将“类加载”与“对象实例化”混淆了? -
@Gyro Gearless 我不会混淆类加载和实例化
-
@Gyro Gearless “了解”C 的类加载器如何检测这个类加载器?
标签: java osgi classloader