1. 程式人生 > >JVM學習筆記(三):類的連線

JVM學習筆記(三):類的連線

前篇文章說了一下類載入器載入類,這篇文章說一下類的連線過程。

類被載入後,就進入連線階段。連線就是將已經讀入到記憶體的類的二進位制資料合併到虛擬機器的執行時環境中去。

連線過程有三部分組成:

1 . 驗證

類的驗證的內容一共有四點:
  • 類檔案的結構檢查:確保類檔案遵循Java的固定格式
  • 語義檢查:確保類檔案遵循Java的語法要求,如一個類只能有一個父類等
  • 位元組碼驗證:確保位元組碼流能夠在JVM正確執行
  • 二進位制相容性的驗證:確保相互引用的類之間協調一致
2 . 準備

在準備階段,為類變數分配記憶體,並賦初值(物件型別賦值null,基本資料型別賦0值)。需要注意的是如果是final修飾的類變數,則在準備階段就已經完成賦值,如

private static final int a = 4;
則在準備階段就已經賦值為4。

3 .解析

解析階段將類的二進位制資料中的符號引用(方法名)替換為直接引用(地址指標)