有关打破类加载器双亲委派机制的一个举例: 为什么tomcat要自定义类加载器? 无法隔离不同web应用的类 比如两个web应用分别依赖同一个库的不同版本(如 log4j 1.x 和 log4j 2.x) 若遵循双亲委派: 父加载器加载 log4j-1.2.17.jar。 应用 2 的类加载器委托父加载器时,发现 Log4j 类已加载,被迫使用旧版本,导致兼容性问题。 打破双亲委派后: 应用 2 的 WebApp ClassLoader 优先加载自己的 log4j-2.14.1.jar。 两个应用使用各自版本的 Log4j,互不干扰。 无法支持热部署 Web 应用需要在不重启 T...