1. 程式人生 > >JVM類加載機制

JVM類加載機制

一個 主動 分享 .cn img mage 繼承 卸載 準備

JVM類加載總共有7個階段。加載->驗證->準備->解析->初始化->使用->卸載。主要需要了解的為準備階段,初始化階段。下面分別對此兩個階段進行解析。

技術分享

初始化階段:

初始化分為主動引用和被動引用。主動引用包括:

(1)創建類的實例

(2)訪問類的靜態變量

(3)訪問類的靜態方法

(4)反射

(5)虛擬機啟動時,定義了main方法那個類先初始化

(6)當初始化一個類時,如果父類尚未初始化,則先將父類初始化。

被動引用:

(1)子類調用父類靜態變量,子類不會初始化,只有父類被初始化。

(2)對於數組定義來引用類,不會觸發類的初始化。

(3)訪問類的常量,不會初始化類。

子類繼承父類,在調用的時候,初始化順序為,首先初始化父類的靜態代碼塊->子類的靜態代碼塊->父類非靜態代碼塊->父類構造函數->子類非靜態代碼塊->子類構造函數。

JVM類加載機制