Tomcat中,Web应用中对class和resource的加载

昨天在读一篇帮助:http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
是讲述Tomcat中,classLoader如何工作的。

其中一段是这样讲的:
[quote]
Therefore, from the perspective of a web application, class or resource loading looks in the following repositories, in this order:

Bootstrap classes of your JVM
System class loader classes (described above)
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
$CATALINA_HOME/lib
$CATALINA_HOME/lib/*.jar
[/quote]

我的理解是,当Tomcat中的某个Web应用,需要请求某个class信息,或者是资源信息,将会按照以下的顺序进行查找。

JVM
Tomcat启动的关键类
应用中的classes目录下的class文件
应用中lib目录下的jar文件
Tomcat安装目录下的lib目录
Tomcat安装目录下的lib目录下的jar文件。

如果按照这样来看的话,应该会出现这样的情况,如果同一个Tomcat下有两个不同的web应用,这两个应用都在自己的lib目录下使用同样的第三方jar包。那么Tomcat会使用不同的Web应用级别的classLoader来加载这两个jar包。

这样就造成了Perm空间的浪费。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值