java - JVM指令栈式架构的优点

标签 java

为什么 Java 虚拟机设计成没有寄存器来保存中间数据值?相反,每件事都在堆栈上工作。使用基于堆栈的架构而不是寄存器有什么特别的优势吗?

最佳答案

Java 从一开始就被设计为可移植的。但是,如果字节码依赖于运行它的平台上存在的某些寄存器,那么如何保持字节码的可移植性呢?特别是考虑到它最初打算(也)在机顶盒上运行,机顶盒的处理器架构与主流 PC 截然不同。

只有运行时 JVM 才真正知道可用的寄存器和其他硬件特定的东西。然后 JIT 编译器可以(并且将)在适用的情况下针对这些进行优化。

关于java - JVM指令栈式架构的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515154/

相关文章:

java - 如何拦截Spring MVC序列化响应?

java - 如何将字段插入 mysql 数据库,但如果重复则跳过一两列?

java - 如何从两个具有相同类名的独立 div 中获取文本?

java - 计算查询行数的最有效方法

java - 使用 Moshi 反序列化可以是两种数据类型之一的字段

java - 如何避免在java中使用带有大量变量的if语句

java - 如何使用注释设置消息驱动 bean 的主体?

java - 如何从数组列表中获取实际的整数值

java - 如何在一行中替换多个字符串?

java - 制作更小的圣诞树