Tomcat类加载机制以及线程上下文类加载器
tomcat类加载需要解决的问题
tomcat是一个很经典的web服务器,一个服务器就相当于一个Java应用,而在这个Java应用中又有着多个被部署的Web应用,因此,有着如下的几个问题等着被解决:
1、多个web应用之间不能相互影响;
2、jsp能够热部署;
3、web服务器本身使用的类库,不被干扰;
4、多个web应用能够共享lib;
我们先来回顾一下传统的类加载机制的流程图:

在双亲委托机制中,启动类加载器为Java启动时需要加载的类,拓展类加载器为jre中一个叫ext文件夹底下的类,应用加载器则是加载classpath底下的类,可以通过System.getProperty("java.class.path");获得,用以加载应用编译产生的类。
双亲委托是为了保证类在内存中的唯一性,防止如恶意Object类出现的类似情况,而产生的