假设,我在同一个 JVM 中有两个类加载器,CL1 和 CL2。
CL1 加载 A 类,CL2 加载 B 类
现在,A想要访问B。但我不想在CL1中再次加载B。 A(在CL1中加载)是否可以访问B(在CL2中加载)?
最佳答案
如果 CL2 是 CL1 的父级,则没有问题。如果 Cl2 和 Cl1 以某种方式像 OSGi 一样连接,那么它们也可以相互了解。如果您自己编写 Cl2 和/或 CL1,则可以设置这样的链接。否则,除非使用反射或在 CL1 和 CL2 之上加载的通用接口(interface),否则它们无法“了解”彼此。
关于java - 2个类加载器之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777040/