Java常量項(xiàng)的類型表

常量項(xiàng)的類型和tag取值

tag值 常量項(xiàng)類型 含義
1 CONSTANT_Utf8 用于存儲(chǔ)字符串的常量項(xiàng)午阵。該項(xiàng)真正包含了字符串內(nèi)容坤按。而 CONSTANT_String 常量項(xiàng)只存儲(chǔ)了一個(gè)指向 CONSTANT_Utf8 項(xiàng)的索引。
2
3 CONSTANT_Integer Java中前联,int 和 float 型數(shù)據(jù)的長(zhǎng)度都是4個(gè)字節(jié)证鸥。這兩種常量分別代表 int 和 float 型數(shù)據(jù)信息僚楞。
4 CONSTANT_Float
5 CONSTANT_Long Java中, long 和 double 型數(shù)據(jù)的長(zhǎng)度都是8個(gè)字節(jié)枉层。這兩種常量分別代表 long 以及 double 型數(shù)據(jù)信息泉褐。
6 CONSTANT_Double
7 CONSTANT_Class 代表類或接口的信息。
8 CONSTANT_String 代表一個(gè)字符串(String)鸟蜡。該常量本身不存儲(chǔ)字符串的內(nèi)容膜赃,它只是存儲(chǔ)了一個(gè)索引值。
9 CONSTANT_Fieldref 存儲(chǔ)成員變量的信息揉忘。信息包括所屬類的類名跳座、變量、函數(shù)名癌淮、函數(shù)參數(shù)躺坟、返回值等。
10 CONSTANT_Methodref 存儲(chǔ)成員函數(shù)的信息乳蓄。信息包括所屬類的類名咪橙、變量、函數(shù)名、函數(shù)參數(shù)美侦、返回值等产舞。
11 CONSTANT_InterfaceMethodref 存儲(chǔ)接口函數(shù)的信息。信息包括所屬類的類名菠剩、變量易猫、函數(shù)名、函數(shù)參數(shù)具壮、返回值等准颓。
12 CONSTANT_NameAndType 這種類型的常量項(xiàng)用于描述類的成員域或成員函數(shù)相關(guān)的信息。
13
14
15 CONSTANT_MethodHandle 用于描述 MethodHandle 信息棺妓。MethodHandle 和反射有關(guān)系攘已。Java類庫(kù)中對(duì)應(yīng)的類為 java.lang.invoke.MethodHandle 。
16 CONSTANT_MethodType 用于描述一個(gè)成員函數(shù)的信息怜跑。只包括函數(shù)的 參數(shù)類型 和 返回值 样勃,不包括函數(shù)名和所屬類的類名。
17
18 CONSTANT_InvokeDynamic 用于 invokeDynamic 指令性芬。invokeDynamic 和 Java 平臺(tái)上實(shí)現(xiàn)了一些動(dòng)態(tài)語(yǔ)言(如Python)相類似的有關(guān)功能峡眶。

常見的常量項(xiàng)內(nèi)容

常量項(xiàng)名稱 數(shù)據(jù)結(jié)構(gòu) 說明
大小 名稱
CONSTANT_Utf8_info u1 tag
u2 length
u1 bytes[ length ]
CONSTANT_Class_info u1 tag
u2 name_index 指向 CONSTANT_Utf8_info
CONSTANT_Fieldref_info u1 tag
u2 class_index
u2 name_and_type_index
CONSTANT_String_info u1 tag
u2 string_index 指向 CONSTANT_Utf8_info
CONSTANT_MethodType_info u1 tag
u2 descriptor_index 指向 CONSTANT_Utf8_info
CONSTANT_Methodref_info u1 tag
u2 class_index
u2 name_and_type_index
CONSTANT_NameAndType_info u1 tag
u2 name_index 指向 CONSTANT_Utf8_info
u2 descriptor_index 指向 CONSTANT_Utf8_info
CONSTANT_InterfaceMethodref_info u1 tag
u2 class_index
u2 name_and_type_index
CONSTANT_Long_info u1 tag
u4 high_bytes
u4 low_bypes
CONSTANT_Integer_info u1 tag
u4 bytes
CONSTANT_Double_info u1 tag
u4 high_bytes
u4 low_bypes
CONSTANT_Float_info u1 tag
u4 bytes

信息描述規(guī)則

  1. 數(shù)據(jù)類型的描述規(guī)則(基本數(shù)據(jù)類型 和 引用類型)。
  2. 成員變量的描述規(guī)則(Field Descriptor)植锉。
  3. 成員函數(shù)的描述規(guī)則(Method Descriptor)辫樱。

數(shù)據(jù)類型描述規(guī)則

數(shù)據(jù)類型對(duì)照表
數(shù)據(jù)類型 類型描述符
byte B
char C
double D
float F
int I
short S
long **J **(引用類型已用L)
boolean Z (byte類型已用B)
引用類型 LClassName;如:Ljava/lang/String;
數(shù)組 [ 其他數(shù)據(jù)類型描述符

成員變量描述規(guī)則

與數(shù)據(jù)類型描述規(guī)則相同。BaseType | ObjectType | ArrayType

成員函數(shù)描述規(guī)則

( ParameterDescriptor )ReturnDescriptorParameterDescriptor :FieldTypeReturnDescriptor:FieldType | VoidDescriptor ( V 代表 Void )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末汽煮,一起剝皮案震驚了整個(gè)濱河市搏熄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暇赤,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宵凌,死亡現(xiàn)場(chǎng)離奇詭異鞋囊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞎惫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門溜腐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瓜喇,你說我怎么就攤上這事挺益。” “怎么了乘寒?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵望众,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)烂翰,這世上最難降的妖魔是什么夯缺? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮甘耿,結(jié)果婚禮上踊兜,老公的妹妹穿的比我還像新娘。我一直安慰自己佳恬,他們只是感情好捏境,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著毁葱,像睡著了一般垫言。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上头谜,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天骏掀,我揣著相機(jī)與錄音,去河邊找鬼柱告。 笑死截驮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的际度。 我是一名探鬼主播葵袭,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼乖菱!你這毒婦竟也來了坡锡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤窒所,失蹤者是張志新(化名)和其女友劉穎鹉勒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吵取,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡禽额,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了皮官。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脯倒。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捺氢,靈堂內(nèi)的尸體忽然破棺而出藻丢,到底是詐尸還是另有隱情,我是刑警寧澤摄乒,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布悠反,位于F島的核電站残黑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏问慎。R本人自食惡果不足惜萍摊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望如叼。 院中可真熱鬧冰木,春花似錦、人聲如沸笼恰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)社证。三九已至逼龟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間追葡,已是汗流浹背腺律。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宜肉,地道東北人匀钧。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像谬返,于是被迫代替她去往敵國(guó)和親之斯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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