當前位置:才華齋>計算機>java語言>

java類檔案是什麼

java語言 閱讀(2.11W)

實現語言無關性的基礎是虛擬機器和位元組碼儲存格式。Java虛擬機器不和包括Java在內的任何語言繫結,只與"Class檔案"這種特定的二進位制檔案所關聯,Class檔案中包含了Java虛擬機器指令集合符號表以及若干其它輔助資訊。Java虛擬機器作為一個通用的、機器無關的執行平臺,任何其他語言都可以將其作為語言的產品交付媒介。今天,小編為大家搜尋整理了java類檔案是什麼,希望大家能有所收穫,更多精彩內容請持續關注我們應屆畢業生考試網!

java類檔案是什麼

  一、什麼是Java類檔案

Java類檔案是Java程式的`二進位制表示形式。每一個類檔案代表一個類或者介面。不可能在一個類檔案中放入多個類或者介面。這樣就使得無論類檔案是在哪一種平臺上生成,都可以在任何主機上執行。

雖然類檔案是Java體系結構的一部分,但是他並不是與Java語言不可分的。你可以將其他語言的程式編譯為類檔案,也可以將Java程式檔案編譯為其他二進位制形式。

Java類檔案是一個基於8-bit位元組的二進位制流。資料塊順序的、無分割符的、big-endian的形式儲存。

  二、類檔案的內容

Java的類檔案中包含了所有Java虛擬機器所需要的關於類和介面的資訊。所有類檔案中的資訊都以以下的四種基本型別的儲存:

Table 6-1. Class file "primitive types"

u1 a single unsigned byte

u2 two unsigned bytes

u4 four unsigned bytes

u8 eight unsigned bytes

類檔案中的主要部分以表6-2的順序儲存:

Table 6-2. Format of a ClassFile Table

Type& #9;Name Count

u4 magic 1

u2 minor_version 1

u2 major_version 1

u2 constant_pool_count 1

cp_info constant_pool constant_pool_count-1

u2 access_flags 1

u2 this_class 1

u2 super_class 1

u2 interfaces_count 1

u2 interfaces interfaces_count

u2 fields_count 1

field_info fields fields_count

u2 methods_count 1

method_info methods methods_count

u2 attributes_count 1

attribute_info attributes attributes_count

1、魔術編碼(magic)

每一個Java類檔案的開頭四個位元組都是魔術編碼(OxCAFEBABE)。通過魔術編碼可以很容易識別類檔案。

2、副版本號和主版本號(minor_version and major_version)

剩下的四個位元組是副版本號和主版本號。但Java技術在進化時,一些新的特性可能會被加入到類檔案中。每一次類檔案格式的變化,都會相應的改變版本號。虛 擬機通過版本號來識別自己能夠處理的類檔案。Java虛擬機器往往只能處理一個給定的主版本號和其下的一些副版本號。虛擬機器必須拒絕那些不再處理範圍內的類 檔案。