什麼是類加載器? 類加載器有哪些?
通過類的限定名獲取該類的二進制字節流的代碼塊叫做類加載器。
主要有四種類加載器
1,啓動類加載器:
這個類加載器負責放在<JAVA_Home>\lib目錄中的,或者被-Xbootclasspath參數所指定的路徑中的,並且是虛擬機識別的類庫。用戶無法直接識別的類庫。
使用的是Bootstrap ClassLoader
2,擴展類加載器
這個類加載器由sun.misc.Launcher$AppClassLoader實現。它負責<java_home>\lib\ext\目錄中的,或者被java.ext.dirs系統變量所指定的路徑中的所有類庫。用戶可以直接使用。
extensions class loader
3,應用程序類加載器
這個類由sun.misc.Launcher$AppClassLoader實現。是ClassLoader中getSystemClassLoader()方法的返回值。它負責用戶程序路徑(ClassPath)所指定的類庫。用戶可以直接使用。如果用戶沒有自定義類加載器,默認使用這個。
4,自定義加載器:
用戶自己定義的類加載器,通過繼承java.lang.ClassLoader類的方式實現。