我是靠谱客的博主 自信牛排,这篇文章主要介绍同一个java类由不同的classloader加载问题,现在分享给大家,希望可以做个参考。

最近在测试项目代码中遇到同一个类由不同的classloader加载后出现的问题:

  1. 类A中有一个字段a,它的类型为X
  2. 类B中有一个字段b,它的类型也为X
  3. 类A由classLoaderA所加载,类B由classLoaderB所加载
  4. 执行赋值语句A.a = B.b,由于这两个类型均为X,可以执行,但是有一个要求,这个要求就是在A中所装载类X的装载器必须和在B中装载类X的装载器相同,否则赋值语句失败

    为什么会产生上面的输出,我们可以来看一个以下的代码

 首先是一个简单的类调用:

类Foo3

1 public class Foo3 implements IFoo{
2     public void hello() throws Exception{
3  

最后

以上就是自信牛排最近收集整理的关于同一个java类由不同的classloader加载问题的全部内容,更多相关同一个java类由不同内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(124)

评论列表共有 0 条评论

立即
投稿
返回
顶部