JVM学习笔记30——线程上下文类加载器实战分析与难点剖析
发布日期:2021-06-29 01:19:00
浏览次数:2
分类:技术文章
本文共 822 字,大约阅读时间需要 2 分钟。
将当前线程的类加载器设置为扩展类加载器
public static void main(String[] args) { Thread.currentThread().setContextClassLoader(MyTest26.class.getClassLoader().getParent()); ServiceLoaderloader = ServiceLoader.load(Driver.class); Iterator iterator = loader.iterator(); while (iterator.hasNext()){ Driver driver = iterator.next(); System.out.println("driver: " + driver.getClass() + ",loader: " + driver.getClass().getClassLoader()); } System.out.println("当前线程上下文类加载器: " + Thread.currentThread().getContextClassLoader()); System.out.println("ServiceLoader的类加载器: " + ServiceLoader.class.getClassLoader()); }
运行发现加载不到mysql的驱动,只能由应用类加载器加载
ServiceLoader是由启动类加载器加载的,那么在双亲委托模型下,驱动也应该是由启动类加载器加载,但是应用的实现不可能写在启动的目录下,因此就用线程上下文类加载破坏双亲委托模型,让应用类加载器去加载驱动的具体实现
转载地址:https://blog.csdn.net/yshuoo/article/details/116565558 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月27日 18时50分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
3.vue条件语句
2019-04-29
10.vue实战--form表单属性绑定
2019-04-29
11.vue实战--form表单字段验证提交验证
2019-04-29
12.vue实战--接口请求,组件使用,页面跳转配置
2019-04-29
打破职能之缺陷预防之路
2019-04-29
mac开启mysql,重置mysql密码,允许远程连接
2019-04-29
安装kibana
2019-04-29
linux安装nodejs
2019-04-29
tomcat部署vue,spring项目
2019-04-29
idea2020打包war包
2019-04-29
测试框架
2019-04-29
解决切换分支时,maven不自动下载依赖的问题
2019-04-29
java正则
2019-04-29
Python爬虫实战:批量下载网站图片
2019-04-29
pycharm的十个小技巧,让你写代码效率翻倍
2019-04-29
python数据可视化神器,我就服它
2019-04-29
Python爬虫如何实用xpath爬取豆瓣音乐
2019-04-29
python爬取网站数据四种姿势,你值得拥有
2019-04-29
python爬虫JS逆向:X咕视频密码与指纹加密分析
2019-04-29
python爬取抖音短视频详细教程(附带源码)
2019-04-29