请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

main方法里面的classLoader是空的

老师,为啥main方法里面 java.sql.Driver的classLoader是空的呢

正在回答 回答被采纳积分+3

2回答

洪小才 2022-01-13 14:25:57

会不是不小心CV的锅,它上面拿的是JAVA类,所以拿着类去getClass然后再去拿getClassLoader,diver这个本身是class直接拿getClassLoader,检查一下,可能是粗心复制黏贴造成的,我之前拿的也是null就是复制黏贴造成的锅

0 回复 有任何疑惑可以回复我~
CC老师 2020-12-13 21:12:07

空?? 你说的是 null吧, 说明是系统类装载器 装载的

0 回复 有任何疑惑可以回复我~
  • 提问者 MichaelDuan #1
    我看老师你视频的这个是有加载器的,我这边为啥Class.forName 也是系统加载器,下面打印的是null:  
    Class driver = Class.forName("java.sql.Driver");
            System.out.println("driver class loader==" + driver.getClassLoader());
    回复 有任何疑惑可以回复我~ 2020-12-21 21:58:59
  • 不曾离开123 回复 提问者 MichaelDuan #2
    你用的jdk版本应该不一样,老师视频里有说过,如果是jdk8的话,是没有平台类加载器的,与之对应的应该是扩展类加载器,加载的是<JRE_HOME>/lib/ext的类,我自己也试了下,用 Class.forName("sun.security.ec.SunEC"); 获取到的classloader就是 ExtClassLoader
    回复 有任何疑惑可以回复我~ 2021-03-20 22:42:39
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号