您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“jvm class文件的結構是怎樣的”,內容詳細,步驟清晰,細節處理妥當,希望這篇“jvm class文件的結構是怎樣的”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
class 文件是一組以8位字節位基礎單位的二進制流,各個數據項目按照順序緊湊排列在class文件中
class 文件格式采用一種類似C語言結構體的偽代碼來存儲數據,這種偽結構中只有無符號數和表
無符號數屬于基本的數據類型,以u1,u2,u4,u8分別代表1個字節,2個字節,4個字節,8個字節的無符號數
無符號可以用來描述數字,索引引用,數量值或按照utf-8編碼構成字符串值
表是由多個無符號或者其他表作為數據項構成的復合數據類型,表通常以“_info”結尾
class 文件中的字節序為Big-Endian (大端模式與小端模式)
大端模式是指數據的低位保存在內存的高地址中,而數據的高位保存在內存的低地址中
小端模式是指數據的低位保存在內存的低地址中,而數據的高位保存在內存的高地址中
class 文件的頭4個字節稱為魔數(Magic Number),他用作確定這個文件是否為一個虛擬機所接受的class文件
常量池是class文件的資源倉庫
常量池主要存放兩大類常量,字面量(Literal)和符號引用(Symbolic Reference)
字面量類似Java語言層面的常量概念,如文本字符串,聲明為final的常量值等
符號引用屬于編譯原理范疇
a. 類和接口全限定名
b.字段等名稱和描述符號
c. 方法名稱和描述符
訪問標志
魔數--》常量—》 常量結束之后,緊接著等兩個字節代表訪問標志(access_flags),這個標志用于識別一些類或接口層次等訪問信息。(class是類還是接口,是否為public類型,是為abstract類型,是否被聲明為final)
讀到這里,這篇“jvm class文件的結構是怎樣的”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。