天天看點

Java工程師必知詞彙:JVM

|名詞定義|

Java虛拟機(Java Virtual Machine,縮寫為JVM),一種能夠運作Java bytecode的虛拟機,以堆棧結構機器來進行實做。最早由Sun所研發并實作第一個實作版本,是Java平台的一部分,能夠運作以Java語言寫作的軟體程式。

Java虛拟機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM屏蔽了與具體作業系統平台相關的資訊,使得Java程式隻需生成在Java虛拟機上運作的目标代碼(位元組碼),就可以在多種平台上不加修改地運作。通過對中央處理器(CPU)所執行的軟體實作,實作能執行編譯過的Java程式碼(Applet與應用程式)。

作為一種程式設計語言的虛拟機,實際上不隻是專用于Java語言,隻要生成的編譯檔案符合JVM對加載編譯檔案格式要求,任何語言都可以由JVM編譯運作。此外,除了Oracle,也有其他開源或閉源的實作。

|JVM的實作|

由于JVM并不是專為Java所實作的運作時,實際上隻要有其他程式設計語言的編譯器能生成正确Java bytecode檔案,則這個語言也能實作在JVM上運作。

以下為原生就在JVM上實作運作的語言:

• BBj

• BeanShell

• Ceylon

• Clojure

• Fantom

• Groovy

• Java

• Kotlin

• MIDletPascal

• Scala

• Xtend

以下為實作了相應的JVM編譯器的語言及其編譯(解釋)器,意味着下列語言可以使用基于Java開發的編譯器進行編譯或解釋:

• Erlang:Erjang

• JavaScript:Rhino

• Pascal:Free Pascal

• PHP:Quercus

• Python:Jython

• REXX:NetRexx

• Ruby:JRuby

• Scheme:Kawa

• Tcl:Jacl

|參考資料|

[1] 維基百科