1. 程式人生 > >java class檔案魔數、版本號

java class檔案魔數、版本號

每個class檔案的前四個位元組表示魔數,他的唯一作用是確定這個檔案是否是一個能被虛擬機器接受的class檔案, 很多檔案儲存標準中都使用魔數來進行身份識別,比如圖片格式,如gif、jpg等在檔案中都存在魔數,使用魔數而不是副檔名來進行識別主要基於安全方面的考慮。因為副檔名可以隨便改動。檔案格式的制定者可以自有的選擇魔數值。

緊接著魔數的4個位元組後,第5個和第6個表示次版本號。第7、8表示主版本號。如下圖

用16進位制編輯器開啟 可以看見前4個位元組的16進製表示的是 0xCAFEBASE 表示魔數,0x00表示次版本號

0x32為主版本號 即為十進位制的50 也就是說這個class檔案可以被jdk1.6以上版本的虛擬機器所執行。


class檔案版本號如下圖