10.1 类加载器的委托机制

p { margin-bottom: 0.21cm; }

 

派出某个类加载器加载类的加载

1. 首先当前线程的类加载器去加载线程中的第一个类。

2. 如果A 类引用了B 类,jav 将继续有A 类的类加载器去加载B

3. 还可以用CllassLoader.loadClass 方法指定某个类加载器去加载某个类

 

类加载器的委托机制

优先委托给上级类加载器加载

每一个类首先由首先ExtClassLoader 去加载线程中的类, 如果还有子类加载器也就会交给父类去加载,如果找不到就委托给上一级BootStrap 类加载器加载 如果BootStrap 类加载器还是没加载到,他会按照原路返回到发起者类加载器处,再由发起者寻找一次, 如果发起者还是没有寻找到 就抛出异常

所以 如果我们再写一个java.lang.System 类默认情况下不会被类加载加载 如果要加载 我们需要自己写一个类加载器 并且不优先上级

 

这样做的好处是不会产生垃圾文件,类加载器从父类开始找 , 不会存在一份字节码在运行期间被加载两次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值