为什么JVM是基于堆栈的虚拟机?这究竟是什么意思,与基于寄存器的虚拟机相比有哪些优势?虚拟机构建器是否还有其他主要设计/实现选择?
答案 0 :(得分:4)
基于堆栈的虚拟机非常简单,无论是作为概念还是实现。几乎所有具有CS背景的人都可以在几百行代码中实现一个简单的全功能VM。
如果需要,您可以将堆栈视为任意大量的寄存器。从一开始就添加寄存器将是预先成熟的优化。
一个简单的概念使得在模型之上像Hotspot这样的真正魔术变得更加简单。这并不简单,但您可以根据您从直接解释器到简单JIT到Hotspot的能力来选择复杂程度。