https://blog.csdn.net/lipei1220/article/details/53924799
加載順序:
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