Java類加載器采用雙親委派模型:
1.啟動類加載器:這個類加載器負責放在<JAVA_HOME>\lib目錄中的,或者被-Xbootclasspath參數所指定的路徑中的,並且是虛擬機識別的類庫。用戶無法直接使用。
2.擴展類加載器:這個類加載器由sun.misc.Launcher$AppClassLoader實現。它負責<JAVA_HOME>\lib\ext目錄中的,或者被java.ext.dirs系統變量所指定的路徑中的所有類庫。用戶可以直接使用。
3.應用程序類加載器:這個類由sun.misc.Launcher$AppClassLoader實現。是ClassLoader中getSystemClassLoader()方法的返回值。它負責用戶路徑(ClassPath)所指定的類庫。用戶可以直接使用。如果用戶沒有自己定義類加載器,默認使用這個。
4.自定義加載器:用戶自己定義的類加載器。