JVM以動態方式管理載入,連結和初始化類以及介面的過程。在載入過程中,JVM查詢類的二進位制表示並建立它。
在連結過程中,已載入的類被組合到JVM的執行時狀態,以便在初始化階段執行它們。JVM基本上使用儲存在執行時常數池中的符號表來進行連結過程。初始化包括實際執行連結類。
BootStrap
類載入器位於類載入器層次結構的頂部。它在JRE的lib目錄中載入標準JDK類。
Extension
類載入器位於類載入器層次結構的中間,是引導類載入器的直接子項,並將類載入到JRE的lib/ext
目錄中。
Application
類載入器位於類載入器層次結構的底部,是應用程式類載入器的直接子級。它載入CLASSPATH ENV
變數指定的jar和類。
連結過程包括以下三個步驟 -
.class
檔案(位元組碼)有效。如果不是,則丟擲錯誤並且連結過程停止。這是類載入過程的最後階段,它為靜態變數分配原始值並執行靜態塊。