java - 2个类加载器之间的交互

标签 java classloader

假设,我在同一个 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/

相关文章:

java - 致命异常 : AsyncTask #1 cropping image

java - setModel 生成器中的错误

java - 渲染时出现 NullPointerException 错误

deployment - 在 Wildfly 中,在我的 WAR 中包含 JAR 文件与通过 jboss-deployment-structure.xml 链接到它有区别吗?

osgi - 在 Pax Exam 测试方法中使用匿名类时出现 ClassNotFoundException

java - FileInputStream 查看 Jar 的根目录

java - Perl 使用 System.exit 从 Java Jar 返回代码

java - 如何使用自定义 ClassLoader?

Java类加载

jboss - ClassNotFoundException 引用 JBoss AS 7 中的 hornetq 特定内容