1. 程式人生 > >tomcat中class和jar的載入順序

tomcat中class和jar的載入順序

當我們啟動一個tomcat的服務的時候,jar包和claess檔案是是以怎麼樣的順序被載入進來的?

載入順序:

1. $java_home/lib 目錄下的java核心api 

2. $java_home/lib/ext 目錄下的java擴充套件jar包

3. java -classpath/-Djava.class.path所指的目錄下的類與jar包

4. $CATALINA_HOME/common目錄下按照資料夾的順序從上往下依次載入

5. $CATALINA_HOME/server目錄下按照資料夾的順序從上往下依次載入

6. $CATALINA_BASE/shared目錄下按照資料夾的順序從上往下依次載入

7. 我們的專案路徑/WEB-INF/classes下的class檔案

8. 我們的專案路徑/WEB-INF/lib下的jar檔案

在同一個資料夾下,jar包是按順序從上到下依次載入

      由ClassLoader的雙親委託模式載入機制我們可以知道,假設兩個包名和類名完全相同的class檔案不再同一個jar包,如果一個class檔案已經被載入java虛擬機器裡了,那麼後面的相同的class檔案就不會被載入了。

原文:http://xiaomogui.iteye.com/blog/847686

參考

    http://huangrongyou.iteye.com/blog/1562019