java之JVM的架構模型

nintyuui發表於2021-09-11

java之JVM的架構模型

在java中,虛擬機器的重要性就不再重複了,想必大家也對這方面有了基礎的瞭解。本篇我們針對其中的架構模型進行分析,主要分成棧式架構和暫存器架構。想必大家這架構模型不是很清楚,在使用者兩種架構時容易出現混淆。下面我們就這兩種不同的jvm架構分別展開講解。

Java編譯器輸入的指令流基本上是一種基於棧的指令集架構,另外一種指令集架構則是基於暫存器的指令集架構。

1、棧式架構的特點

系統的設計與實現比較簡單,適合資源有限的系統;

避免暫存器分配困難,採用零地址指令方式;

在指令流中,大多數指令都是零地址的,它們的執行取決於操作棧。較小的指令集,易於編譯;

無需硬體支援,更好的可移植性,更好的跨平臺實現。

2、暫存器架構的特點

最典型的應用是X86的二進位制指令集:比如Android的Davlik虛擬機器;

而指令集體系結構完全依賴硬體,移植性差;

出色的工作,高效的執行;

用較少的指令來完成一個操作;

大多數基於暫存器結構的指令集傾向於使用一地址指令、二地址指令和三地址指令,而基於棧式結構的指令集傾向於使用零地址指令。

因為跨平臺設計,所以Java指令都是按照棧設計的。由於不同平臺的CPU結構不同,所以不能設計為基於暫存器的,優點是跨平臺,指令集小,易實現,缺點是效能下降,而且需要更多的指令來實現相同的功能。

以上就是java之JVM的架構模型,大家可以對這方面的知識點先進行理解,學會後用文字儲存下來,避免遺忘。更多Java學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3209/viewspace-2830497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章