|名詞定義|
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] 維基百科