應用,一定要應用

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            25 Posts :: 0 Stories :: 118 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(15)

          隨筆分類

          隨筆檔案

          搜索/全文檢索

          短信/彩信/sms/mms

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          2004-10-22

          第四章:class文件格式
          java.io.DataInput和java.io.Output輸入輸出的都是以高端字節(jié)序輸出字節(jié)。
          與C結構的域不同,class文件中連續(xù)的項順序存儲,不進行填充或者對齊。
          4.1classFile
          一個class文件包含一個單獨的classFile結構,包含:
          一個四字節(jié)的幻數表明class類型。具有值0XCAFEBABE;
          access_flag用于表明是類還是接口,是abstract,final還是其他
          另外分別有表存儲:常量、屬性、方法、域。
          目前屬性只有sourceFile屬性。
          4。2完全限定類名稱的內部形式
          出現在classFile文件結構中的類都以完全限定類名稱的方式出現,并且不是類似于java.lang.xxx,而是變?yōu)閖ava/lang/xxx
          4.3描述符
          域類型有:根類型,對象類型,數組類型
          根類型有:B,C,D,F,I,J,S,Z
          對象類型:L
          數組類型:[
          多維數組double[][][] d的表示方式:[[[D
          方法返回描述符
          V表示void

          object mymethod(int i,double j,Thread t)的方法描述符為:
          (IDLjava/lang/Thread;)Ljava/lang/Object;
          java的方法不管是static還是實例方法描述符都是如此,區(qū)別在于jvm運行時給實例方法隱式的傳遞當前對象的指針this

          4.4常數池
          常數池由一組類似于cp_info的結構構成
          cp_info{
          ?u1 tag;
          ?u1 info[];
          }

          4.5域
          每個域由一個變長的field_info構成
          field_info{
          ?u2 access_flags;
          ?u2 name_index;
          ?u2 descriptor_index;
          ?u2 attribute_count;
          ?attribute_info attributes[attributes_count];
          }

          4.6方法
          每個方法由變長結構method_info構成
          method_info{
          ?u2 access_flags;
          ?u2 name_index;
          ?u2 descriptor_index;
          ?u2 attribute_count;
          ?attribute_info attributes[attributes_count];
          }

          4.7屬性
          屬性用于field_info,method_info,class_file結構之中,結構一般如下:
          attribute_info{
          ?u2 attribute_name_index;
          ?u4 attribute_length;
          ?u1 info[attribute_length];
          }

          某些屬性被預定義作為class文件規(guī)范的一部分,這些屬性是:sourceFile,ConstantValue,code,exception,lineNumberTable和localVariableTable屬性。

          4。8對java虛擬機代碼的約束

          4。9class文件的檢驗

          4。10java虛擬機和class文件格式的限制

          posted on 2006-08-24 17:03 flyffa 閱讀(1291) 評論(0)  編輯  收藏 所屬分類: 讀書
          主站蜘蛛池模板: 丹寨县| 浦北县| 广西| 顺义区| 惠安县| 潜山县| 温州市| 建瓯市| 鄂托克旗| 彩票| 津市市| 天峨县| 陇南市| 白朗县| 汤原县| 濮阳市| 安国市| 灌云县| 商河县| 长阳| 蚌埠市| 麦盖提县| 南澳县| 沅江市| 江安县| 河南省| 永平县| 梓潼县| 沂南县| 亚东县| 神木县| 龙里县| 越西县| 调兵山市| 汉寿县| 西乌| 武威市| 临颍县| 嘉义市| 林州市| 青海省|