Tomcat類載入器

2021-10-05 06:45:24 字數 801 閱讀 2582

對於jvm來說:

雙親委派模型要求除了頂層的啟動類載入器之外,其餘的類載入器都應當由自己的父類載入器載入。

tomcat類載入

在tomcat中類的載入稍有不同,如下圖:

當tomcat啟動時,會建立幾種類載入器:

1 bootstrap 引導類載入器

載入jvm啟動所需的類,以及標準擴充套件類(位於jre/lib/ext下)

2 system 系統類載入器

載入tomcat啟動的類,比如bootstrap.jar,通常在catalina.bat或者catalina.sh中指定。位於catalina_home/bin下。

3 common 通用類載入器

每個應用在部署後,都會建立乙個唯一的類載入器。該類載入器會載入位於 web-inf/lib下的jar檔案中的class 和 web-inf/classes下的class檔案。

當應用需要到某個類時,則會按照下面的順序進行類載入:

1 使用bootstrap引導類載入器載入

2 使用system系統類載入器載入

3 使用應用類載入器在web-inf/classes中載入

4 使用應用類載入器在web-inf/lib中載入

5 使用common類載入器在catalina_home/lib中載入

Tomcat類載入機制

jvm類載入簡單介紹 tomcat類載入參考 jvm類載入簡單介紹 該層次關係稱為類載入器的雙親委派模型,上一層即父載入器。工作流程 如果乙個類載入器收到了類載入的請求,它首先不會自己去嘗試載入這個類,而是把請求委託給父載入器去完成,依次向上,因此,所有的類載入請求最終都應該被傳遞到頂層的啟動類載入...

tomcat類載入機制

簡述jvm雙親委派模型 jvm中包括集中類載入器 1 bootstrapclassloader 引導類載入器 2 extclassloader 擴充套件類載入器 4 customclassloader 使用者自定義類載入器 他們的區別上面也都有說明。需要注意的是,不同的類載入器載入的類是不同的,因此...

Tomcat類載入架構

主流的j a web伺服器,都實現了自己定義的類載入器,而且一般都還不止乙個。因為乙個功能健全的web伺服器,都要解決如下的問題 在tomcat目錄結構中,可以設定3組目錄 common server 和shared 但預設不一定是開放的 用於存放j a類庫,另外還應該加上web應用程式自身的 we...