JVM がスタックベースの仮想マシンであるのはなぜですか? それは正確には何を意味し、登録ベースの仮想マシンよりも優れている点は何ですか? 仮想マシン ビルダー向けのその他の主要な設計/実装の選択肢はありますか?
1 に答える
4
スタックベースの仮想マシンは、概念としても実装も非常に単純です。CS のバックグラウンドを持っている人なら誰でも、数百行のコードでシンプルで完全に機能する VM を実装できます。
必要に応じて、スタックを任意の多数のレジスタと考えることができます。最初からレジスタを追加するのは、時期尚早の最適化です。
シンプルなコンセプトにより、モデル上で Hotspot のような実際の魔法を実行することがより簡単になります。これは単純なことではありませんが、単純なインタープリターから単純な JIT、Hotspot まで、自分の能力に基づいて複雑さのレベルを選択できます。
于 2011-08-22T23:08:44.517 に答える