您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關JVM虛擬機指的是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
這里向大家描述一下JVM虛擬機的概念,JVM是JavaVirtualMachine的縮寫,它是指Java虛擬機,并且JVM一種用于計算設備的規范,可用不同的方式(軟件或硬件)加以實現。
JVM
JVM是JavaVirtualMachine的縮寫,它是指Java虛擬機,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。JVM虛擬機有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在JVM虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。JVM虛擬機在執行字節碼時,實際上最終還是把字節碼解釋成具體平臺上的機器指令執行。
JVM一種用于計算設備的規范,可用不同的方式(軟件或硬件)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。JVM虛擬機包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。
JVM虛擬機是可運行Java代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。
JVM虛擬機是一個想象中的機器,在實際的計算機上通過軟件模擬來實現。JVM虛擬機有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應的指令系統。
JVM虛擬機概述
1.為什么要使用JVM虛擬機
Java語言的一個非常重要的特點就是與平臺的無關性。而使用JVM虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機后,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用模式JVM虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在JVM虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。JVM虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。
2.誰需要了解JVM虛擬機
JVM虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對JVM虛擬機有個大概的了解。這有助于理解Java語言的一些性質,也有助于使用Java語言。對于要在特定平臺上實現JVM虛擬機的軟件人員,Java語言的編譯器作者以及要用硬件芯片實現JVM虛擬機的人來說,則必須深刻理解JVM虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的字節碼,你也需要深入地了解JVM虛擬機。
3.JVM虛擬機支持的數據類型
JVM虛擬機支持Java語言的基本數據類型如下:
byte://1字節有符號整數的補碼
short://2字節有符號整數的補碼
int://4字節有符號整數的補碼
long://8字節有符號整數的補碼
float://4字節IEEE754單精度浮點數
double://8字節IEEE754雙精度浮點數
char://2字節無符號Unicode字符
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬件標記。操作這些原始數據類型數據的字節碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
以上就是JVM虛擬機指的是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。