JVM筆記(5)--類文件結(jié)構(gòu)(1)

  Java程序通過(guò) Javac編譯器 編譯成?字節(jié)碼( *.class )?然后通過(guò) Java虛擬機(jī) 去執(zhí)行,其中的字節(jié)碼文件就是接下來(lái)要學(xué)習(xí)的內(nèi)容。

第一部分:Java虛擬機(jī)的無(wú)關(guān)性

     1.平臺(tái)無(wú)關(guān)性:在任何平臺(tái)上只要安裝虛擬機(jī)就可以運(yùn)行。

      平臺(tái)無(wú)關(guān)性----是基于字節(jié)碼。

     2.語(yǔ)言無(wú)關(guān)性:任何語(yǔ)言都可以在虛擬機(jī)上運(yùn)行。

      語(yǔ)言無(wú)關(guān)性----是基于虛擬機(jī)和字節(jié)碼存儲(chǔ)格式。

第二部分:Class類文件的結(jié)構(gòu)

Class文件格式

類型名稱數(shù)量中文名稱

u4magic1?????????????????????魔數(shù)

u2minor_version1????次版本號(hào)

u2minor_version1????主版本號(hào)

u2constant_pool_count1 常量池

cp_infoconstant_poolconstant_pool_count-1?

u2access_flags1????????????訪問(wèn)標(biāo)識(shí)

u2this_class1????????????????類索引

u2super_class1? ? ? ? ? ?父類索引

u2interfaces_count1? ?接口索引集合

u2interfacesinterfaces_count?

u2fields_count1? ?????????字段表集合

field_infofieldsfields_count?

u2methods_count1? ? 方法表集合

method_infomethodsmethods_count?

u2attributes_count1? ?屬性表集合

attribute_infoattributesattributes_count?

? ? ?1.class類文件存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu):(1)無(wú)符號(hào)數(shù)。(2)表。

      (1)無(wú)符號(hào)數(shù):基本上是數(shù)據(jù)類型,以u(píng)1,u2,u4,u8分別代表1個(gè)字節(jié),2個(gè)字節(jié),4個(gè)字節(jié),8個(gè)字節(jié),無(wú)符號(hào)數(shù)一般來(lái)表示,數(shù)字,索引引用,數(shù)量值,utf-8組成的值。

      (2)表:它是由多個(gè)無(wú)符號(hào)數(shù)或其他表作為數(shù)據(jù)項(xiàng)構(gòu)成的復(fù)合數(shù)據(jù)類型。

        作用:描述有層次關(guān)系的復(fù)合結(jié)構(gòu)的數(shù)據(jù)。

      2.class類文件:它是一個(gè)有嚴(yán)格規(guī)定的文件,對(duì)于Class文件的數(shù)據(jù)項(xiàng),對(duì)于順序,大小,數(shù)量,都是有規(guī)定的,全部都能隨意改變的。

第三部分:class文件中的魔數(shù)和版本號(hào)

     魔數(shù):每一個(gè)文件的頭4個(gè)字節(jié)被稱之為魔數(shù),他的唯一作用是確定這個(gè)文件是否可以被虛擬機(jī)接受的class文件

    ? ?class文件的版本號(hào):第5和第6個(gè)字節(jié)代表次版本號(hào)。

              第7和第8個(gè)字節(jié)代表主板本號(hào)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容