JAVA虛擬機(JVM)是啥?
- Java虛擬機(英語:Java Virtual Machine,縮寫為JVM),一種能夠運行Java bytecode的虛擬機,以堆棧結構機器來進行實做。最早由太陽微系統所研發并實現第一個實現版本,是Java平臺的一部分,能夠運行以Java語言寫作的軟件程序。
Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。通過對中央處理器(CPU)所執行的軟件實作,實現能執行編譯過的Java程序碼(Applet與應用程序)。
作為一種編程語言的虛擬機,實際上不只是專用于Java語言,只要生成的編譯文件匹配JVM對載入編譯文件格式要求,任何語言都可以由JVM編譯運行。此外,除了甲骨文,也有其他開源
由于JVM并不是專為Java所實現的運行時,實際上只要有其他編程語言的編譯器能生成正確Java bytecode文件,則這個語言也能實現在JVM上運行。
來源維基百科
- JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一種用于計算設備的規范,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。
Java語言的一個非常重要的特點就是與平臺的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機后,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。Java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。這就是Java的能夠“一次編譯,到處運行”的原因。
來自百度百科
- Java虛擬機可以看作是一臺抽象的計算機.如同真實的計算機那樣,他有自己的指令集以及各種運行時內存區域.
Java虛擬機與Java語言并沒有必然的聯系,他只與特定的二進制文件格式---Class文件格式所關聯,Class文件中包含了Java虛擬機指令集(或者稱為字節碼,Bytecodes)和符號表,還有一些其他輔助信息.