主流的j**a web伺服器,都實現了自己定義的類載入器,而且一般都還不止乙個。因為乙個功能健全的web伺服器,都要解決如下的問題:
在tomcat目錄結構中,可以設定3組目錄(/common/*,server/*和shared/*,但預設不一定是開放的)用於存放j**a類庫,另外還應該加上web應用程式自身的「web-inf/*」目錄,一共4組。
這四組,分別存放:
上圖的類載入結構在tomcat6以前是預設的類載入器結構,在tomcat6機以後的簡化了預設的目錄結構,只有指定了tomcat/conf/catalina.properties配置檔案的server.loader和share.loader項後,才會真正建立catalina類載入器和shared類載入器例項。/common、server、shared3個目錄預設合併到乙個/lib目錄。
參考:《深入理解j**a虛擬機器》周志明
Tomcat類載入機制
jvm類載入簡單介紹 tomcat類載入參考 jvm類載入簡單介紹 該層次關係稱為類載入器的雙親委派模型,上一層即父載入器。工作流程 如果乙個類載入器收到了類載入的請求,它首先不會自己去嘗試載入這個類,而是把請求委託給父載入器去完成,依次向上,因此,所有的類載入請求最終都應該被傳遞到頂層的啟動類載入...
Tomcat類載入器
對於jvm來說 雙親委派模型要求除了頂層的啟動類載入器之外,其餘的類載入器都應當由自己的父類載入器載入。tomcat類載入 在tomcat中類的載入稍有不同,如下圖 當tomcat啟動時,會建立幾種類載入器 1 bootstrap 引導類載入器 載入jvm啟動所需的類,以及標準擴充套件類 位於jre...
tomcat類載入機制
簡述jvm雙親委派模型 jvm中包括集中類載入器 1 bootstrapclassloader 引導類載入器 2 extclassloader 擴充套件類載入器 4 customclassloader 使用者自定義類載入器 他們的區別上面也都有說明。需要注意的是,不同的類載入器載入的類是不同的,因此...