尽管 Tomcat(或任何 Web 应用程序服务器)在一个 JVM 进程中工作,但它如何设法分别加载不同的 WAR 文件?它们可能具有相同的类和其他资源,但必须保证应用程序的一致性和隔离性。
最佳答案
Tomcat 为每个已部署的 WAR 创建(Web)应用程序类加载器。它有一些通用的类加载器。整体层次结构在类加载器指南中有最好的描述:
http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
顺便说一句:为了允许取消部署应用程序,Tomcat 进行了大量的资源管理。此处对此进行了描述:
http://wiki.apache.org/tomcat/MemoryLeakProtection
并与类加载器和类卸载紧密相关。
关于java - Tomcat 如何加载不同的 war 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778446/