【问题标题】:Why is the JVM a Stack Based virtual Machine?为什么 JVM 是基于堆栈的虚拟机?
【发布时间】:2011-08-22 22:43:29
【问题描述】:

为什么 JVM 是基于堆栈的虚拟机?这到底是什么意思,与基于寄存器的虚拟机相比有什么优势?虚拟机构建者还有其他主要的设计/实现选择吗?

【问题讨论】:

    标签: jvm jvm-languages


    【解决方案1】:

    基于堆栈的虚拟机非常简单,无论是作为概念还是实现。几乎任何具有 CS 背景的人都可以用几百行代码实现一个简单的功能齐全的 VM。

    如果需要,您可以将堆栈视为任意数量的寄存器。从一开始就添加寄存器将是未成熟的优化。

    然后,一个简单的概念可以让在模型之上执行真正的魔术变得更简单,例如 Hotspot。这并不简单,但是您可以根据自己的能力选择复杂程度,从直接解释器到简单的 JIT 再到 Hotspot。

    【讨论】:

      猜你喜欢
      • 2012-01-31
      • 2016-09-16
      • 2014-05-18
      • 2011-08-15
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      相关资源
      最近更新 更多