Tomcat中为什么要使用自定义类加载器

一个Tomcat中可以部署多个应用,而每个应用都存在很多类,并且各个应用中的类是独立的,全类名是可以相同的,比如一个订单系统中可能存在com.xxx.User类,一个库存系统也可能存在com.xxx.User类,一个Tomcat,不管内部部署了多少应用,Tomcat启动之后就是一个Java进程,也就是一个jvm,所以如果Tomcat中只存在一个类加载器,比如默认的AppClassLoader,那么久只能加载一个com.xxx.user类,这是有问题的。而在tomcat中,会为部署的每个应哟都生成一个类加载器去加载自己的类,从而达到应用之间的类隔离,不出现冲突,另外tomcat还利用自定义类加载器实现了热加载功能。

你可能感兴趣的:(java)