例如,如果将int变量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在这里代表什么?

最佳答案

这是指向类文件的常量池的索引;它表示invokevirtual的操作数存储在常量池的索引#4(将是Constant_MethodRef_info。)如果用javap标志调用-v,它将转储常量池,并且您会在索引4看到它正在调用什么类和方法。

08-05 17:36