起因
查看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類似