2012-10-08 23 views
0

说,我有两个类加载器在相同的JVM,CL1 & CL2。2个类加载器之间的相互作用

CL1负载A级& CL2负载B类

现在,A需要访问B.但我不想在CL1再次负载B。 A(装载在CL1中)是否可以访问B(装载在CL2中)?

+0

您是否尝试制作CL1的CL2父类加载器? –

+0

您可以使用B.class。[getClassLoader](http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getClassLoader()),它给出了类的类加载器你想.. –

+0

谢谢Rohit。这有帮助。任何其他方式来实现它? – user127377

回答

1

如果CL2是CL1的父亲,那么没问题。如果Cl2和Cl1以某种方式与OSGi类似,那么他们也可以相互了解。如果你自己编写Cl2和/或CL1,那么你可以设置这样一个链接。否则,除了使用反射或装载在CL1和CL2上方的通用接口之外,他们不能“相互了解”。