常见的Tomcat类加载方式有以下几种:
-
共享类加载器(Common类加载器):
在Tomcat的公共类库目录(common目录)下放置的类,可以被所有Web应用程序共享使用。这些类会被Common类加载器加载并放置在JVM的Common类加载器对应的类加载器空间中。 -
Web应用程序类加载器(Web应用类加载器):
每个Web应用程序在启动时都会创建一个Web应用程序类加载器,负责加载该Web应用程序的类。该类加载器在Web应用程序的WEB-INF/classes目录和WEB-INF/lib目录下查找类。 -
系统类加载器(System类加载器):
在Tomcat的全局公共类库目录(lib目录)下放置的类,可以被整个Tomcat容器共享使用。这些类会被System类加载器加载并放置在JVM的System类加载器对应的类加载器空间中。
Tomcat的类加载架构设计如下:
- Tomcat的类加载架构采用了两级类加载器的设计。
- 第一级是Catalina类加载器,它继承自JVM的Common类加载器(也可以配置为继承自JVM的System类加载器),负责加载Tomcat自身的类以及Web应用程序的共享类。
- 第二级是Web应用程序类加载器,每个Web应用程序在启动时都会创建一个Web应用程序类加载器,负责加载该Web应用程序的类。它的父加载器是Catalina类加载器。
- 这种两级类加载器的设计可以实现类加载的隔离性,不同Web应用程序之间的类互不干扰。同时也能够提高类加载的效率,避免了反复加载相同的类。
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦