我有一个我感兴趣的查询,我想要一个完整的解释,虽然我在任何地方都找不到答案,但是谁能向我解释一下JVM (Java虚拟机)是如何使用堆栈和堆栈帧来组织它的计算的吗?
发布于 2013-08-26 18:34:09
Java字节码是一个所谓的面向堆栈的编程语言。这个模型被许多虚拟机使用--与物理机器的体系结构形成对比。
下面是一个示例:
public static int foobar(int value) {
return value + 42;
}此方法的Java字节码如下所示:
iload_0
bipush 42
iadd
ireturn这些指令不使用寄存器。相反,他们使用堆栈进行计算:
42推到堆栈上。所有其他Java字节码操作都是一样的。没有可以使用的寄存器。所有操作在堆栈上推送和/或弹出元素。
https://stackoverflow.com/questions/18450232
复制相似问题