位元組碼整體結構和資料結構

2021-10-02 20:52:07 字數 682 閱讀 3437

1,magic number(魔數),4個位元組,值為oxcafebabe

2,version(版本號)2+2個位元組

3,constant pool(常量池)2+n個位元組

4,access flags訪問標誌資訊,包括該class檔案是類還是介面,是否被定義為public,是否是abstract和final,2個位元組

5,this classname 當前類的名稱,2個位元組

6,super classname,父類名稱,2個位元組

7,inte***ce,實現的類的資訊,2+n個位元組

8,fields,域資訊,2+n個位元組

9,methods(方法表)2+n位元組

10,attributes(附加屬性表)2+n位元組

class位元組碼中有兩種資料型別

1,位元組資料直接量:這是基本的資料型別,共細分為:u1,u2,u4,u8四種,分別代表連續的乙個位元組,兩個位元組,四個位元組,八個位元組組成的整體資料

2,表(陣列),表是由多個基本資料或其他表,按照既定順序組成的大 的資料集合,表是有結構的,它的結構體現在:

組成表的成分所在的位置和順序都是已經嚴格定義好的

注:成員變數的初始化賦值是在init方法內執行的,也就是構造方法,如果有多個構造方法,那麼每個構造方法都會執行

如果有靜態**塊,或靜態變數,則會生成clinit方法,在該方法內賦值

演算法和資料結構

演算法和資料結構 演算法和資料結構 千絲萬縷的聯絡 縱觀各種演算法書籍,大多都是將演算法和資料結構作為乙個整體來講述。資料結構就是陣列 樹結構等儲存或表現物件資料的結構。將演算法和資料結構作為整體講述,是因為必須依照演算法中的常用操作選擇資料結構。例如,事先將資料儲存在適當的樹形結構中,大多數情況下...

演算法和資料結構

演算法 資料結構與演算法的關係是相互依賴不可分割的。演算法的定義 演算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 有窮性 確定性 可行性 輸入 輸出。演算法設計的要求 正確性 可讀性 健壯性 高效率和低儲存量需求。演算法特性與演算法設計容...

集合和資料結構

類似的資料在作為集合而儲存和操作時通常可以得到更高效地處理。可使用 system.array 類或 system.collections system.collections.generic system.collections.concurrent 和 system.collections.imm...