<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    java類文件是什么

    時間:2024-12-18 00:51:25 java語言 我要投稿
    • 相關推薦

    java類文件是什么

      實現語言無關性的基礎是虛擬機和字節碼存儲格式。Java虛擬機不和包括Java在內的任何語言綁定,只與"Class文件"這種特定的二進制文件所關聯,Class文件中包含了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虛擬機往往只能處理一個給定的主版本號和其下的一些副版本號。虛擬機必須拒絕那些不再處理范圍內的類 文件。

    【java類文件是什么】相關文章:

    Java Class文件是什么11-08

    java類文件內容介紹08-07

    Java語言Class文件是什么09-02

    java讀文件寫文件的方法06-24

    Java寫入文件的方法05-24

    在Java里處理文件的技巧10-12

    java調用bat文件的方法08-09

    Java的類07-19

    java如何通過url讀取文件05-07

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人