深入理解JVM之--類的加載機制

1.類的加載過程

   Java中從類被加載到虛擬機內存中開始,到卸載出內存結束。整個生命週期包括:

   加載--驗證---準備---解析---初始化---使用---卸載,一共七個階段。其中驗證-準備--解析被統稱爲”連接“,如下圖:

2.類的初始化

JVM規定有且只有四種情況對類進行“初始化”(前提,類沒有被初始化)

1.使用new關鍵字實例化對象的時候;

   讀取或者設置類的一個static靜態變量(其中被final修飾除外,因爲在編譯的還是,此常量已經存在常量池中)的時候;

   調用一個類的靜態方法的時候.

2.使用java.lang.reflect包的方法(反射機制)的時候.

3.當初始化一個類的時候,如果其父類還沒有被初始化,則需要先觸發其父類初始化.

4.當虛擬機啓動時,用戶指定一個要執行的主類(main方法執行的類),虛擬機會先初始化這個主類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章