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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1453149997 中级黑马   /  2014-4-8 16:26  /  1376 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在看张老师的java基础加强的时候,发现tomcat的类加载器使用了父类委托机制,但是在网上看到tomcat没有使用父类委托机制,这到底是怎么回事,是因为tomcat版本的问题吗?求大神指点。

评分

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

查看全部评分

1 个回复

正序浏览
分享一下Tomcat类加载器的加载规则,楼主你看一下吧
1:因为所有已经载入的类都会缓存起来,所以先检查本地缓存

2:如本地缓存没有,则检查上一级缓存,即调用ClassLoader类的findLoadedClass()方法;

3:若两个缓存都没有,则使用系统的类进行加载,防止Web应用程序中的类覆盖J2EE的类

4:若打开标志位delegate(表示是否代理给父加载器加载),或者待载入的类是属于包触发器的包名,则调用父类载入器来加载,如果父类载入器是null,则使用系统类载入器

5:从当前仓库中载入相关类

6:若当前仓库中没有相关类,且标志位delegate为false,则调用父类载入器来加载,如果父类载入器是null,则使用系统类载入器(4跟6只能执行一个步骤的)

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马