web容器中的类加载机制

对于运行在JavaEE容器中的Web应用来说,类加载器的实现方式和一般的应用有所不同。不同的web容器的实现机制也有所不同。

拿tomcat举例。

Tomcat下每个web应用都有一个对应的类加载器实例,该实例也使用代理模式,所不同的是它的加载顺序和一般的类加载器是相反的。我们知道一般的类加载器在加载一个类的时候先将其代理给父加载器,如果父加载器不能加载才自己加载。而tomcat的类加载机制则是首先自己尝试加载需要加载的类,如果找不到再代理给父加载器。

这种加载方式是servlet所推荐的方式,其目的是使web应用自己的类优先于容器提供的类。当然,考虑到安全因素,java的核心类库不在这个加载器的查找范围内。

你可能感兴趣的:(java,javaEE)