上一篇我寫了類加載器基礎:
這一篇介紹一下tomcat的類加載器體系

圖片.png
Tomcat 的頂層自定義加載器是 公共類加載器。 它負責加載 %tomcat_home%/lib 這個目錄里的類和jar
在它之下是 WebappClassLoader, 用于加載某個 web應用,比如 j2ee 下的 /WEB-INF/classes, /WEB-INF/lib 目錄里的類和jar
所以:
WebappClassLoader 是專門用于加載某個 web 應用下的 class 和 jar 的。
每個 Web 應用都有屬于自己專屬的 WebClassLoader , 這樣才可以做到同一個名稱的類, 在不同的 web 應用里,互不干擾。
再在其后是 JspClassLoader, 用于加載 jsp 轉換成 .java 被編譯之后的類