Tomcat的類加載器初步認識

起因

查看Tomcat的Bootstrap啓動時創建了Common ClassLoader,實質是一個指定目錄的URLClassLoader。那麼他們是如何關聯起來的呢

圖片來自https://www.cnblogs.com/aspirant/p/8991830.html
在這裏插入圖片描述

指定目錄
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
根據URLClassLoader繼承了ClassLoader,
在這裏插入圖片描述

ClassLoader.getSystemClassLoader()

獲取系統默認ClassLoader的方法

在這裏插入圖片描述

Launcher 去獲取 ClassLoader
在這裏插入圖片描述

返回的this.loader
在這裏插入圖片描述

AppClassLoader

this.loader在初始化Launcher的時候去初始化

注入ExtClassLoader作爲AppClassLoader的parent 並返回該AppClassLoader
在這裏插入圖片描述

java.class.path 包含-classpath制定的目錄

在這裏插入圖片描述

在這裏插入圖片描述

ps:ExtClassLoader類似

在這裏插入圖片描述

WebappClassLoaderBase 打破了雙親委派,實現了一個Tomcat下多個應用

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章