什么是類加載器?類加載器有哪些?
參考答案:
通過類的權(quán)限定名獲取該類的二進(jìn)制字節(jié)流的代碼塊叫做類加載器。
主要有一下四種類加載器
1.啟動類加載器:這個(gè)類加載器負(fù)責(zé)放在<JAVA_HOME>\lib目錄中的,或者被-Xbootclasspath參數(shù)所指定的路徑中的,并且是虛擬機(jī)識別的類庫。用戶無法直接使用。
2.擴(kuò)展類加載器:這個(gè)類加載器由sun.misc.Launcher$AppClassLoader實(shí)現(xiàn)。它負(fù)責(zé)<JAVA_HOME>\lib\ext目錄中的,或者被java.ext.dirs系統(tǒng)變量所指定的路徑中的所有類庫。用戶可以直接使用。
3.應(yīng)用程序類加載器:這個(gè)類由sun.misc.Launcher$AppClassLoader實(shí)現(xiàn)。是ClassLoader中g(shù)etSystemClassLoader()方法的返回值。它負(fù)責(zé)用戶路徑(ClassPath)所指定的類庫。用戶可以直接使用。如果用戶沒有自己定義類加載器,默認(rèn)使用這個(gè)。
4.自定義加載器:用戶自己定義的類加載器。