为什么JVM是基于堆栈的虚拟机?

时间:2011-08-22 22:43:29

标签: jvm jvm-languages

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

1 个答案:

答案 0 :(得分:4)

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

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

一个简单的概念使得在模型之上像Hotspot这样的真正魔术变得更加简单。这并不简单,但您可以根据您从直接解释器到简单JIT到Hotspot的能力来选择复杂程度。

相关问题