2
爲什麼JVM是基於堆棧的虛擬機?究竟是什麼意思,以及基於寄存器的虛擬機有什麼優勢?虛擬機制造商是否還有其他主要的設計/實施選擇?爲什麼JVM是基於堆棧的虛擬機?
爲什麼JVM是基於堆棧的虛擬機?究竟是什麼意思,以及基於寄存器的虛擬機有什麼優勢?虛擬機制造商是否還有其他主要的設計/實施選擇?爲什麼JVM是基於堆棧的虛擬機?
基於堆棧的虛擬機非常簡單,既是一個概念,也是一個實現。幾乎任何具有CS背景的人都可以在幾百行代碼中實現一個簡單的全功能虛擬機。
如果需要,您可以將堆棧視爲任意大量的寄存器。從一開始就添加寄存器將是過早的優化。
一個簡單的概念,然後可以更容易做真正的魔力就像熱點的模型之上。這並不簡單,但您可以根據自己從直譯員到簡單JIT到Hotspot的能力來選擇複雜程度。