温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
Tomcat类加载器设计原理首先我们了解一下JVM类加载器。JM类加载器有三种,第一种BOP load启动类加载器,主要用于加载Java的核心类库。第二种是extension class load拓展类加载器,主要用于加载拓展目录下的类,第三种是system,主要用于加载class pass下的类。那么在JVM中呢?为了保证类的安全性,会首先把类交给父类加载去去加载。那么这种机制呢?称之为双亲委派模型。那么在tomcat这种服务器当中呢,一般会自定义类加载器去加载不同的web项目。那么这么做的好处?首先,我们可以设想一下,比如说不同的项目依赖spring不同的包,那么就会导致依赖冲突问题,如果用不同的加载器就能起到隔离的作用。其次,当需要增加或者减少单独的某个外部项目的部署,用多个类加载器可以灵活的实现。
01:20
最后用多个类加载器呢,它的性能要远比用一个要高。最后我们看一下tomcat类加载器的设计。tomcat以system类加载器为副类,定义了common加载公共类,Common下有caralina class load用于加载tomcat课件的类,而shed class加载web项目课件的类。那么底下又细分了不同的web类加载器,用于隔离不同web项目,这种呢,是打破了双亲委派,由自定义类加载器先加载类。
我来说两句