首頁  >  文章  >  Java  >  詳解JAVA開發之classLoader類別載入機制

詳解JAVA開發之classLoader類別載入機制

无忌哥哥
无忌哥哥原創
2018-07-18 11:25:151731瀏覽

jvm有三種類載入器,一種使用者自訂載入器,從上到下分別是:

bootstrap classLoader 這類載入器在java虛擬機啟動時將jdk核心類別庫載入進內存

extension classLoader 擴充類別載入器,該類別載入器是載入jre的一些jar的類別庫

system classLoader 系統類別載入器,該類別載入器是載入classpath下面的指定類別庫到記憶體

custom classLoader 使用者自訂類別載入器,該類別載入器由程式設計師自己負責在程式運行期間,透過java.lang.classLoader的子類別來動態載入class檔案

載入機制:

java類別載入機制叫做雙親委託機制:就是當有請求向載入器請求類別時,首先會自底向上查詢該類別是否被載入到內存,如果被載入則直接返回該類,如果沒有,那麼先委託父類載入器載入該類,如果當前載入器還有父類,那再向上一級委託,直到頂層,只有當父類無法載入該類時,才會返回下一層直到自己加載,如果自己也無法加載,則返回類別找不到異常(ClassNotFoundException)。例如:當要求用使用者自訂載入器載入java.lang.String類別時,實際上用的是bootstrap classLoader載入的,因為java.lang.String是jdk的核心庫類,在使用者自訂載入時,會先委託父類別載入器。

以上是詳解JAVA開發之classLoader類別載入機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn