我正在读“Java 2虚拟机内部”一书,我不明白这意味着什么:
Java虚拟机是基于堆栈的,而不是基于寄存器的,因为它的指令从操作数堆栈而不是从寄存器获取操作数。指令还可以从其他地方获取操作数,例如紧接字节码流中的操作码(表示指令的字节),或者从常量池中获取操作数。
有人能帮我演这个角色吗?
指令也可以从其他地方获取操作数,例如紧跟操作码。
或者举个例子?
发布于 2015-05-03 09:17:04
例如,有一个iinc指令,它向局部变量添加一个常量值,如下所示:
iinc 1, 8
这意味着“向局部变量#1添加8”。常量8直接写入字节码,遵循iinc指令代码和常数1:0x84 0x01 0x08
。
https://stackoverflow.com/questions/30012078
复制相似问题