日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Class文件结构(更新中)

發布時間:2024/1/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Class文件结构(更新中) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Class文件是一組以8位字節為單位的二進制流,當遇見需要占用8位字節以上空間的數據項時,則會按照高位在前的方式分割成若干個8位字節進行存儲。

格式,采用偽結構,只有兩種數據結構:無符號數和表。

無符號數:

表:由多個無符號數或其他表作為數據項構成的復合數據類型,整個Class文件本質上就是一張表

?

數據項:

魔數(magic)

Class文件的頭4個字節,作用是確定此文件是否為虛擬機可接受的class文件

?

次版本號(Minor Version)

5、6字節

?

主版本(Major Version)

7、8字節

?

常量池容量計數值(constant_pool_count)

2個字節

?

常量池(constant_pool)

大小不固定

字面量

Java語言層面的常量:文本字符串、final

符號引用

編譯原理層面的概念

類和接口的全限定名(引入的類和接口,而不是此類或接口的

字段的名稱和描述符(描述符即修飾符)

方法的名稱和描述符

java在進行javac編譯時,沒有“連接”操作,而是在虛擬機加載class文件時動態連接,也就是說class文件不會包含各個方法、字段的最終內存布局信息。

?

訪問標志(access_flag)

2個字節

類或者接口層次的訪問信息,如這個class是類還是接口,是否是public

?

類索引(this_class)

u2

確定此類全限定名(通過索引能查出全限定名)

?

父索引(super_class)

u2

確定父類全限定名

?

接口計數器(interfaces_count)

u2

代表接口索引表的容量

?

接口索引集合(interfaces)

u2類型數據集合

此類實現了那些接口,按照implements后的接口順序從左到右排列

?

字段表集合(field_info)

接口或類中的變量的描述,包括類級變量和實例級變量。

內容:

作用域(public、private、protected)、實例變量還是類變量、可變性、并發可見性、字段數據類型、字段名稱

對于修飾符,屬于布爾值,用標志位表示

對于字段名稱,其實是通過索引引用常量池中的常量的簡單名稱

?

方法表集合

?

屬性表集合

?

轉載于:https://www.cnblogs.com/yanze/p/9811478.html

總結

以上是生活随笔為你收集整理的Class文件结构(更新中)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。