我是靠谱客的博主 自信牛排,最近开发中收集的这篇文章主要介绍同一个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类由不同的classloader加载问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部