1. 程式人生 > >JVM深度學習系列之類載入問題分析(一)

JVM深度學習系列之類載入問題分析(一)

載入(載入IO流檔案,並存儲類資訊在方法區)->

驗證(格式驗證,語義分析,操作驗證)->

準備(為類中的所有靜態變數分配記憶體空間,併為其設定一個初始值)->

解析(將常量池中的符號引用轉為直接引用)->

初始化(將一個類中所有被static關鍵字標識的程式碼統一執行一遍,如果執行的是靜態變數,那麼就會使用使用者指定的值覆蓋之前在準備階段設定的初始值;如果執行的是static程式碼塊,那麼在初始化階段,JVM就會執行static程式碼塊中定義的所有操作)

static的程式碼(包括靜態程式碼塊)是在類載入的初始化階段執行的。

final修飾的變數是在類載入的載入階段執行的,比static靠前

引自: https://www.cnblogs.com/xiaoxian1369/p/5498817.html