- 相關(guān)推薦
java類文件是什么
實(shí)現(xiàn)語言無關(guān)性的基礎(chǔ)是虛擬機(jī)和字節(jié)碼存儲(chǔ)格式。Java虛擬機(jī)不和包括Java在內(nèi)的任何語言綁定,只與"Class文件"這種特定的二進(jìn)制文件所關(guān)聯(lián),Class文件中包含了Java虛擬機(jī)指令集合符號(hào)表以及若干其它輔助信息。Java虛擬機(jī)作為一個(gè)通用的、機(jī)器無關(guān)的執(zhí)行平臺(tái),任何其他語言都可以將其作為語言的產(chǎn)品交付媒介。今天,小編為大家搜索整理了java類文件是什么,希望大家能有所收獲,更多精彩內(nèi)容請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
一、什么是Java類文件
Java類文件是Java程序的二進(jìn)制表示形式。每一個(gè)類文件代表一個(gè)類或者接口。不可能在一個(gè)類文件中放入多個(gè)類或者接口。這樣就使得無論類文件是在哪一種平臺(tái)上生成,都可以在任何主機(jī)上執(zhí)行。
雖然類文件是Java體系結(jié)構(gòu)的一部分,但是他并不是與Java語言不可分的。你可以將其他語言的程序編譯為類文件,也可以將Java程序文件編譯為其他二進(jìn)制形式。
Java類文件是一個(gè)基于8-bit字節(jié)的二進(jìn)制流。數(shù)據(jù)塊順序的、無分割符的、big-endian的形式存儲(chǔ)。
二、類文件的內(nèi)容
Java的類文件中包含了所有Java虛擬機(jī)所需要的關(guān)于類和接口的信息。所有類文件中的信息都以以下的四種基本類型的存儲(chǔ):
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的順序存儲(chǔ):
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、魔術(shù)編碼(magic)
每一個(gè)Java類文件的開頭四個(gè)字節(jié)都是魔術(shù)編碼(OxCAFEBABE)。通過魔術(shù)編碼可以很容易識(shí)別類文件。
2、副版本號(hào)和主版本號(hào)(minor_version and major_version)
剩下的四個(gè)字節(jié)是副版本號(hào)和主版本號(hào)。但Java技術(shù)在進(jìn)化時(shí),一些新的特性可能會(huì)被加入到類文件中。每一次類文件格式的變化,都會(huì)相應(yīng)的改變版本號(hào)。虛 擬機(jī)通過版本號(hào)來識(shí)別自己能夠處理的類文件。Java虛擬機(jī)往往只能處理一個(gè)給定的主版本號(hào)和其下的一些副版本號(hào)。虛擬機(jī)必須拒絕那些不再處理范圍內(nèi)的類 文件。
【java類文件是什么】相關(guān)文章:
Java Class文件是什么11-08
java類文件內(nèi)容介紹08-07
Java語言Class文件是什么09-02
java讀文件寫文件的方法06-24
Java寫入文件的方法05-24
在Java里處理文件的技巧10-12
java調(diào)用bat文件的方法08-09
Java的類07-19
java如何通過url讀取文件05-07