類在虛擬機器中的載入流程

2021-09-26 01:25:11 字數 485 閱讀 7852

載入-》連線(驗證-》準備-》解析)-》初始化

1)載入:通過類的全名獲取類的二進位製流,將類的資料結構轉化為方法區的結構,在記憶體中生成乙個代表這個類的class物件

2)連線:

驗證:確保class資訊正確無害

準備:在方法區初始化變數的初始值,物件為null

static int a =1 (初始化為0)

static final int a = 10 (初始化為10)

解析:將類的符號引用轉為直接引用

3) 初始化:執行方法的過程

準備階段初始化為預設值

初始化階段按順序執行

a. 父類靜態變數

b. 父類靜態語句塊

c. 子類靜態變數

d. 子類靜態語句塊

e. 父類變數

f. 父類語句塊

g. 父類建構函式

h. 子類變數

i. 子類語句塊

j. 子類建構函式

Java虛擬機器載入類的順序

虛擬機器載入類的先後順序和特性 虛擬機器載入類的時候,1.先載入該類的靜態常量和變數 靜態常量和變數按順序載入 2.然後載入靜態 塊,3.最後再載入其它部分。而且,靜態常量和靜態 塊只在載入類的時候執行一次,new 新的物件的時候不再執行.public class statictest public...

KVM巢狀虛擬化 在虛擬機器中建立虛擬機器

一般情況下,我們是無法在kvm虛擬機器裡面再去建立虛擬機器的,因為我們的kvm虛擬機器的cpu預設情況下並不支援虛擬化功能,對於inter的cpu來說,如果要支援虛擬化功能,必須要有乙個叫vmx的特性,以下是乙個物理伺服器的cpu資訊 在cpu特性 flags 中包含了vmx這個特性,說明這台伺服器...

大戰Java虛擬機器 3 類載入機制

當你的 編譯成class檔案之後,那麼虛擬機器如何載入這些檔案呢?我們需要知道虛擬機器到底做了什麼樣的事情。載入 鏈結 初始化 使用 解除安裝 1 載入 讀取二進位制位元組流,將靜態儲存結構轉化為方法區執行時的資料結構,在記憶體中生詞乙個代表這個類的物件。2 驗證 驗證格式,元資料,位元組碼,符合引...