为什么 JVM 是基于堆栈的虚拟机?这到底意味着什么?与基于寄存器的虚拟机相比有哪些优势?虚拟机构建者还有其他主要的设计/实现选择吗?
最佳答案
基于堆栈的虚拟机无论是概念还是实现起来都非常简单。几乎任何具有计算机科学背景的人都可以用几百行代码实现一个简单的功能齐全的虚拟机。
如果需要的话,您可以将堆栈视为任意大量的寄存器。从一开始就添加寄存器将是不成熟的优化。
一个简单的概念可以让在模型之上实现像 Hotspot 这样真正的魔法变得更加简单。这并不简单,但您可以根据自己的能力选择复杂程度,从直接解释器到简单的 JIT 到 Hotspot。
关于jvm - 为什么 JVM 是基于堆栈的虚拟机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154476/