# 在 invokevirtual 之后做什么
what does # do after invokevirtual
例如,如果整数变量 a 和 b 存储在局部变量 1 和 2 中,则此代码将计算 this.f(3+b*a)
。 (这个指针存储在变量 0 中)
iload_1
aload_0
icons_3
iload_1
iload_1
imul
iadd
invokevirtual #4
#4
站在这里干什么?
这是 class 文件的 常量池 的索引;它说 invokevirtual
的操作数存储在常量池的索引 #4 中(这将是 Constant_MethodRef_info
。)如果您使用 -v
标志调用 javap
,它会转出常量池,你会在索引#4 看到它正在调用什么 class 和方法。
例如,如果整数变量 a 和 b 存储在局部变量 1 和 2 中,则此代码将计算 this.f(3+b*a)
。 (这个指针存储在变量 0 中)
iload_1
aload_0
icons_3
iload_1
iload_1
imul
iadd
invokevirtual #4
#4
站在这里干什么?
这是 class 文件的 常量池 的索引;它说 invokevirtual
的操作数存储在常量池的索引 #4 中(这将是 Constant_MethodRef_info
。)如果您使用 -v
标志调用 javap
,它会转出常量池,你会在索引#4 看到它正在调用什么 class 和方法。