A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任亚俊 中级黑马   /  2013-12-26 16:44  /  1711 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是类加载器的委托机制呢?
Java为什么要采用类加载器的委托机制呢?

评分

参与人数 1黑马币 +3 收起 理由
乔兵 + 3

查看全部评分

3 个回复

倒序浏览
类加载委托机制:
1.当需要某个类加载器要加载指定的类的时候,并不是立刻到自己的管辖范围去加载指定的字节码文件,而是将这个指定的类传递给父类,由父类尝试去到自己的加载范围去加载这个类。就这样,一级级地向上递推到类加载器的最高父类:JVM的内嵌类加载器---Bootstrap类加载器
2. Bootstrap类加载器首先在自己的管辖范围jre/lib/rt.jar中找到了指定类名对应的字节码文件。
(1)如果找到相应的字节码文件就直接加载进来,结束本次对指定类的加载。
(2)如果没找到,Bootstrap按照原路返回到ExtClassLoader,将这个要加载的指定类型交给ExtClassLoader去加载。
(3)如果还没找到,就这样一级级向子类类加载器递推。如果在中间的某一级的类加载器找到了指定的类的字节码文件,就结束这次对指定类的加载。
3. 如果退回到最初要加载类的类加载器的时候,并且在这个类加载器本身的管辖范围内还是没有找到这个指定的类的字节码文件,就会直接抛出ClassNotFoundException这个异常,不再委托给下一级。

Java为什么使用加载的委托机制:
因为使用委托机制后每个类都会有相对应的类加载器,不会有相同的类被重复加载而浪费资源。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
天ya~_琼楼 发表于 2013-12-26 19:05
类加载委托机制:
1.当需要某个类加载器要加载指定的类的时候,并不是立刻到自己的管辖范围去加载指定的字 ...

谢谢,学习了。。。。
回复 使用道具 举报
天ya~_琼楼 发表于 2013-12-26 19:05
类加载委托机制:
1.当需要某个类加载器要加载指定的类的时候,并不是立刻到自己的管辖范围去加载指定的字 ...

总结的太好了,很全面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马