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虛擬機往往只能處理一個給定的主版本號和其下的一些副版本號。虛擬機必須拒絕那些不再處理范圍內的類 文件。
全部
總結
以上是生活随笔為你收集整理的java文件是什么_java类文件是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php用ckeditor无法上传大图片,
- 下一篇: 华为Vo5G技术GC方式下引入G