美文网首页
获取ClassLoader

获取ClassLoader

作者: 吐痰高手 | 来源:发表于2017-04-01 16:09 被阅读217次

普通环境中

//推荐这种
ClassLoader loader = null;
loader = Thread.currentThread().getContextClassLoader();
ClassLoader loader = null;
loader = ClassLoader.getSystemClassLoader();
ClassLoader loader = null;
loader = this.getClass().getClassLoader();
//有时候是null...

经过我自己的尝试,在本地的最普通环境中,上面三个classloader获取的对象是同一个

而且实际上都是AppClassLoader对象

AppClassLoader的父类URLClassLoader可以加载任意路径下的类


但是其实在不同的工作环境中获取到的ClassLoader可能是不同的

在jsp中:

★★★★★★★★★★★★★★★★★★★★★
ClassLoader loader = null;
loader = Thread.currentThread().getContextClassLoader();
//获取的是WebappClassLoader 
//是URLClassLoader的子类
//唯一能够正常使用的ClassLoader
★★★★★★★★★★★★★★★★★★★★★
ClassLoader loader = null;
loader = ClassLoader.getSystemClassLoader();
//获取的是AppClassLoader
//貌似有些功能不能正常使用
ClassLoader loader = null;
loader = this.getClass().getClassLoader();
//获取的是null

相关文章

网友评论

      本文标题:获取ClassLoader

      本文链接:https://www.haomeiwen.com/subject/ygwiottx.html