Java虛擬機(jī)(英語:Java Virtual Machine,縮寫為JVM),一種能夠執(zhí)行Java bytecode的虛擬機(jī)器,以堆疊結(jié)構(gòu)機(jī)器來進(jìn)行實(shí)做。最早由昇陽電腦所研發(fā)并實(shí)現(xiàn)第一個(gè)實(shí)現(xiàn)版本,是Java平臺的一部份,能夠執(zhí)行以Java語言寫作的軟體程式。
Java虛擬機(jī)有自己完善的硬體架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運(yùn)行。通過對中央處理器(CPU)所執(zhí)行的軟件實(shí)作,實(shí)現(xiàn)能執(zhí)行編譯過的Java程序碼(Applet與應(yīng)用程式)。
作為一種編程語言的虛擬機(jī),實(shí)際上不只是專用于Java語言,只要生成的編譯文件符合JVM對載入編譯文件格式要求,任何語言都可以由JVM編譯運(yùn)行。此外,除了甲骨文,也有其他開源或閉源的實(shí)現(xiàn)。
由于JVM并不是專為Java所實(shí)現(xiàn)的運(yùn)行時(shí),實(shí)際上只要有其他編程語言的編譯器能生成正確Java bytecode文件,則這個(gè)語言也能實(shí)現(xiàn)在JVM上運(yùn)行。
以下為原生就在JVM上實(shí)現(xiàn)運(yùn)行的語言:
以下為實(shí)現(xiàn)了相應(yīng)的JVM編譯器的語言及其編譯器:
聯(lián)系客服