JVM 字節(jié)碼-02 常量池學(xué)習(xí)

image
image

常量池計(jì)數(shù)器

這里的U2 標(biāo)識(shí)常量池的大小 0x0023 十進(jìn)制數(shù)為32+3=35

常量池計(jì)數(shù)器后面是常量池 (是一個(gè)表結(jié)構(gòu))

常量池的長(zhǎng)度是 35-1 =34 即常量池的計(jì)數(shù)-1 這里共有34項(xiàng)
每一項(xiàng)都是表結(jié)構(gòu),
常量池主要是存儲(chǔ)字符串常量,類(lèi),接口名,字段名和其他常量
java虛擬機(jī)就是依賴這些常量池中的表結(jié)構(gòu)進(jìn)行運(yùn)行

常量池中項(xiàng)(cp_info)的結(jié)構(gòu)

項(xiàng)通用結(jié)構(gòu):
[圖片上傳失敗...(image-2837bd-1607741032471)]

ps 這里的 info[] 只是一個(gè)結(jié)構(gòu)的概況,不是真實(shí)的結(jié)構(gòu), 具體的結(jié)構(gòu)取決于tag的值

tag 為無(wú)符號(hào)數(shù) (有14種項(xiàng)類(lèi)型)


image
image

常量池中34項(xiàng)的第一項(xiàng)的tag=10 對(duì)應(yīng)到tag項(xiàng)說(shuō)明中常量類(lèi)型為 CONSTANT_Methodref
簡(jiǎn)單翻譯是 方法常量引用類(lèi)型
每一個(gè)類(lèi)型都有其特有的表結(jié)構(gòu)

CONSTANT_Methodref 的表結(jié)構(gòu)(方法項(xiàng)) 這里是#1

image

這里顯示是占據(jù)了5個(gè)U1, 這個(gè)結(jié)構(gòu)就是cp_info的一種具像表示 截圖如下:


image

0x0006 表示的是類(lèi)索引 十進(jìn)制表示為 #6
0x0015 表示的是名稱(chēng)或者類(lèi)型索引 十進(jìn)制表示為 #21

ps: 可以通過(guò)java -p MainTest.class 來(lái)顯示

CONSTANT_Filedref 的表結(jié)構(gòu) (字段項(xiàng)) #2

image
image

tag: 09
class_index : 0x0016 ===> 十進(jìn)制 #32
name_and_type_index: 0x0017 ===> #33

CONSTANT_Stringref 的表結(jié)構(gòu) (字符項(xiàng)) #3

image
image

tag: 08
class_index : 0x0018 ===> 十進(jìn)制 #34

CONSTANT_Class 的表結(jié)構(gòu) (類(lèi)或接口) #5 #6

image

image

tag:07
name_index: 0x001b= 16+11 = #27

CONSTANT_Utf8 的表結(jié)構(gòu) (常量) #7

image
image
image
image

CONSTANT_NameAndType(字段或方法)

image

name_index: 常量池索引 ==> 方法名
descriptor_index: 常量 字段描述符或方法描述符 ==> 詳見(jiàn)方法描述符與字段描述符

image

等等, 這里就不細(xì)化處理了!

javap -v MainTest.class 的方法可以查看..

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尸变,一起剝皮案震驚了整個(gè)濱河市外臂,隨后出現(xiàn)的幾起案子真慢,更是在濱河造成了極大的恐慌框咙,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件继榆,死亡現(xiàn)場(chǎng)離奇詭異秋麸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)屈暗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)剧包,“玉大人恐锦,你說(shuō)我怎么就攤上這事〗海” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵陕贮,是天一觀的道長(zhǎng)堕油。 經(jīng)常有香客問(wèn)我,道長(zhǎng)肮之,這世上最難降的妖魔是什么掉缺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮戈擒,結(jié)果婚禮上眶明,老公的妹妹穿的比我還像新娘。我一直安慰自己筐高,他們只是感情好搜囱,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布丑瞧。 她就那樣靜靜地躺著,像睡著了一般蜀肘。 火紅的嫁衣襯著肌膚如雪绊汹。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天扮宠,我揣著相機(jī)與錄音西乖,去河邊找鬼。 笑死坛增,一個(gè)胖子當(dāng)著我的面吹牛获雕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播收捣,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼届案,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了坏晦?” 一聲冷哼從身側(cè)響起萝玷,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昆婿,沒(méi)想到半個(gè)月后球碉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仓蛆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年睁冬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片看疙。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豆拨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出能庆,到底是詐尸還是另有隱情施禾,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布搁胆,位于F島的核電站弥搞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏渠旁。R本人自食惡果不足惜攀例,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一顾腊、第九天 我趴在偏房一處隱蔽的房頂上張望粤铭。 院中可真熱鬧杂靶,春花似錦酱鸭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)扁誓。三九已至,卻和暖如春蚀之,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背足删。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留失受,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓拂到,卻偏偏與公主長(zhǎng)得像痪署,于是被迫代替她去往敵國(guó)和親兄旬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狼犯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容