获取ClassLoader

普通环境中

//推荐这种
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 作者简介 原创微信公众号郭霖 WeChat ID: guolin_blog 本篇是fank909的第四篇投稿,详细...
    木木00阅读 1,636评论 1 14
  • ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见...
    时待吾阅读 1,126评论 0 1
  • 人对美的东西天生喜欢,比如画,我也是,虽然是静态的定格,但好的画作,静也会灵动起来。油画、水彩画、水墨画,虽不会欣...
    遛海猪666阅读 687评论 0 0
  • 记两位早逝的同学 谨以此文祭奠我们呼啸而过的青葱岁月 毕业照上,45张笑脸清晰可辨,同学们再聚会时,...
    惠风和畅哟阅读 325评论 1 2