檔案結構魔數
版本常量池訪問符
類、超類、介面
字段方法
屬性
–constant_utf8 1 utf-8編碼的unicode字串
–constant_integer 3 int型別的字面值
–constant_float 4 float型別的字面值
–constant_long 5 long型別的字面值
–constant_double 6 double型別的字面值
–constant_class 7 對乙個類或介面的符號引用
–constant_string 8 string型別字面值的引用
–constant_fieldref 9 對乙個欄位的符號引用
–constant_methodref 10 對乙個類中方法的符號引用
–constant_inte***cemethodref 11 對乙個介面中方法的符號引用
–constant_nameandtype 12 對乙個欄位或方法的部分符號引用
JVM之Class檔案結構
但是乙個類或者介面不一定生成class檔案,classloader直接生成。各個資料項按照嚴格的順序排列在class檔案中,沒有任何分隔符,當遇到需要占用8位位元組以上的資料項時,則會按照高位在前 或低位在前 方式分割為若干個8位位元組儲存。big endian little endian。clas...
JVM載入class檔案的原理機制?
jvm中類的裝載是由類載入器 classloader 和它的子類來實現的,j a中的類載入器是乙個重要的j a執行時系統元件,它負責在執行時查詢和裝入類檔案中的類。由於j a的跨平台性,經過編譯的j a源程式並不是乙個可執行程式,而是乙個或多個類檔案。當j a程式需要使用某個類時,jvm會確保這個類...
jvm學習(筆記)
1 jvm規範 img 2 oracle jdk 編譯機制 img 1 詞法分析 將 轉token序列 例如token.eq name 語法分析 生成語法抽象樹。2 註解處理 處理註解生成 3 檢查語法抽象樹 3 類載入順序 classloader self parent system findcl...