Class檔案結構

來源:互聯網
上載者:User

標籤:位元組   image   程式   平台   圖片   關係   技術分享   資訊   常量   

本文參考《深入理解虛擬機器》一書

平台無關性和語言無關性

虛擬機器的存在協助我們實現了平台無關性和語言無關性,平台無關性我們都知道,在多種作業系統中,我們可以運行相同的程式。語言無關性是因為多種程式設計語言經過編譯後形成統一的能夠被虛擬機器識別的Class檔案。

Class檔案的結構

任何一個Class檔案都儲存這對象的類或者介面的資訊,class檔案本質上就是一張表

class檔案的格式是固定的,根據上面這張表可以分析出class檔案結構是什麼樣子的,class檔案以8位元組為單位進行儲存。

1.魔數和版本號碼

前四個位元組是魔數,用來作為標識這是一個class檔案,後面的四個位元組分別是版本號碼和副版本號碼。

2.常量池

緊接著版本號碼的是常量池入口,儲存著常量池中的資料。

3.訪問標誌

判斷訪問的是類還是介面,是什麼類型等。

4.類索引、父索引、和介面索引

判斷類的繼承關係

5.欄位表集合

描述介面或者類中聲名的變數,僅包括類級變數和執行個體級變數。

6.方法表集合

記錄對方法的描述

7.屬性工作表集合

欄位表、class檔案、方法表都有自己的屬性工作表集合。用來描述某些情境專有的資訊。

Class檔案結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.