为什么Tomcat需要打破双亲委派机制

tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。 

对于JVM来说:

因此,按照这个过程可以想到,如果同样在CLASSPATH指定的目录中和自己工作目录中存放相同的class,会优先加载CLASSPATH目录中的文件。

1. 不打破双亲委派一样可以保证不同web应用加载不同位置的内容,这是通过每个web应用使用不同的WebAppClassLoader实例作为类加载器实现的,打破双亲委派压根就不是为了实现jar包隔离

2. 打破双亲委派的真正目的是,当classpath、catalina.properties中common.loader对应的路径、web应用/WEB-INF,下有同样的jar包时,优先使用/WEB-INF下的jar包

图解Tomcat类加载机制(阿里面试题) - aspirant - 博客园

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值