定義:class檔案是一組以8位位元組為基礎單位的二進位製流,各個資料專案嚴格按照順序緊湊排列在class檔案之中,中間沒有新增任何分隔符。class檔案格式採用一種類似於c語言結構體的偽結構來儲存,這種偽結構中之餘兩種資料型別:無符號數和表(表是由多個無符號數或其他表作為資料項構成的符合資料型別)。
魔數:class檔案頭4個位元組,用於確定這個檔案是否為乙個能被虛擬機器接收的class檔案。(身份識別)
次版本號:第5和第6個位元組
主版本號:第7和第8 個位元組
class檔案結構
000000 cafebabe 000004 0000 000006 0032 識別符號 magic 魔數 表示該檔案是標準的class檔案,jvm通過這4個位元組判斷該檔案是不是乙個class檔案 次要版本號 主要版本號 0032 jdk1.5 0033 jdk1.6 0034 jdk1.7 首先...
類Class與結構比較
剛剛查了下msdn,發現結構是由system.object基類派生的。結構不是為繼承設計的。不能從乙個結構中繼承,唯一的例外是結構有object派生,因此結構可以訪問object中的方法。在結構中,甚至可以改寫object中方法 例如重寫tostring 方法。結構的繼承鏈是 system.obje...
JVM之Class檔案結構
但是乙個類或者介面不一定生成class檔案,classloader直接生成。各個資料項按照嚴格的順序排列在class檔案中,沒有任何分隔符,當遇到需要占用8位位元組以上的資料項時,則會按照高位在前 或低位在前 方式分割為若干個8位位元組儲存。big endian little endian。clas...