java 泛型 引用_Java字节码中的泛型的符号引用有什么作用?

因为你的javap没有加-private参数 。默认情况下javap不显示private成员。加了参数之后的结果如下,可以看到该常量被引用了:

$ javap -private -v Test

Classfile /Users/zhb/Projects/gradle2/Test.class

Last modified 18 Jun 2019; size 395 bytes

MD5 checksum a7c2626b775843eab2e5bf6b6bdd5c0e

Compiled from "Test.java"

public class Test

minor version: 0

major version: 55

flags: (0x0021) ACC_PUBLIC, ACC_SUPER

this_class: #5 // Test

super_class: #6 // java/lang/Object

interfaces: 0, fields: 1, methods: 2, attributes: 1

Constant pool:

#1 = Methodref #6.#18 // java/lang/Object."":()V

#2 = Class #19 // java/util/HashMap

#3 = Methodref #2.#18 // java/util/HashMap."":()V

#4 = Fieldref #5.#20 // Test.m:Ljava/util/HashMap;

#5 = Class #21 // Test

#6 = Class #22 // java/lang/Object

#7 = Utf8 m

#8 = Utf8 Ljava/util/HashMap;

#9 = Utf8 Signature

#10 = Utf8 Ljava/util/HashMap;

#11 = Utf8

#12 = Utf8 ()V

#13 = Utf8 Code

#14 = Utf8 LineNumberTable

#15 = Utf8

#16 = Utf8 SourceFile

#17 = Utf8 Test.java

#18 = NameAndType #11:#12 // "":()V

#19 = Utf8 java/util/HashMap

#20 = NameAndType #7:#8 // m:Ljava/util/HashMap;

#21 = Utf8 Test

#22 = Utf8 java/lang/Object

{

private static java.util.HashMap m;

descriptor: Ljava/util/HashMap;

flags: (0x000a) ACC_PRIVATE, ACC_STATIC

Signature: #10 // Ljava/util/HashMap;

public Test();

descriptor: ()V

flags: (0x0001) ACC_PUBLIC

Code:

stack=1, locals=1, args_size=1

0: aload_0

1: invokespecial #1 // Method java/lang/Object."":()V

4: return

LineNumberTable:

line 4: 0

static {};

descriptor: ()V

flags: (0x0008) ACC_STATIC

Code:

stack=2, locals=0, args_size=0

0: new #2 // class java/util/HashMap

3: dup

4: invokespecial #3 // Method java/util/HashMap."":()V

7: putstatic #4 // Field m:Ljava/util/HashMap;

10: return

LineNumberTable:

line 6: 0

}

SourceFile: "Test.java"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值