JVM之Class檔案結構

2022-01-10 18:35:47 字數 637 閱讀 7947

但是乙個類或者介面不一定生成class檔案,classloader直接生成。

各個資料項按照嚴格的順序排列在class檔案中,沒有任何分隔符,當遇到需要占用8位位元組以上的資料項時,則會按照高位在前(或低位在前)方式分割為若干個8位位元組儲存。big-endian little-endian。

class檔案的頭四個位元組成為魔數(oxcafebaby),確定是否可以被虛擬機器接受,多數檔案儲存標準都採用這個形式。緊接著的四個位元組為版本號,5和6為此版本號(minor version),7和8為主版本號(major version),版本號從45開始,jdk1.1之後每個大版本發布,主版本號加1.

常量池(大小不定):class檔案的資源倉庫,占用空間比較大,和其它資料項互動多,第乙個出現表型別資料的資料項。

類或者介面生命的變數,包括類級及介面級變數,不包含區域性變數。

JVM學習筆記8 Class檔案結構

檔案結構魔數 版本常量池訪問符 類 超類 介面 字段方法 屬性 constant utf8 1 utf 8編碼的unicode字串 constant integer 3 int型別的字面值 constant float 4 float型別的字面值 constant long 5 long型別的字面值...

jvm 6 Class位元組碼檔案結構總結

readme 0.1 本文總結於 clas位元組碼檔案,旨在理清 class位元組碼檔案的大體結構 乾貨開始 對上圖的分析 analysis a1 offset 0 a2 offset 0xb0,儲存類索引 父類索引 介面索引 a3 offset 0xb6 查表6 8 儲存字段資訊 a4 offse...

JVM 之 Class檔案Load到記憶體的過程

loading 到記憶體 linking verification 驗證class檔案,cafe babe preperation class靜態變數賦預設值 int 0 object null resolution initializing 靜態變數賦初始值 的方法進行載入class檔案 雙親委派...