2014-10-28 60 views
1

我最近讀了java,因爲它可以在任何地方運行,比如烤麪包機。 所以這個問題突然出現了,你可以在沒有操作系統的新電腦/筆記本電腦上運行Java虛擬機和Java程序嗎? 如果是這樣,我的Windows上編寫的Java程序是否可以在無OS計算機上的JVM上運行?你可以在沒有操作系統的計算機上運行JVM嗎?

我試着在谷歌搜索,但我找不到任何有關

感謝

+0

「烤麪包機」是指J2ME(用於嵌入式計算的Java微版)。可能不是通常所說的Java。 (我認爲有更緊湊的版本可以運行在智能卡上,例如Apple Pay芯片)。 – Thilo 2014-10-28 06:18:53

+1

或Android(它是開源的)。現在,J2ME在牙齒上已經相當枯燥了。 – markspace 2014-10-28 06:20:47

+3

可以想象,您可以構建一個實現虛擬機核心的操作系統,但是現在,您可能更有可能將操作系統看作是削減的Linux內核,也許是Java的削減版本...... – MadProgrammer 2014-10-28 06:22:21

回答

6

Java規範並不要求JVM上的操作系統上運行;這就是規格細節措辭背後的原因。 BEA's Project Bare Metal是JVM努力直接在沒有操作系統的硬件上運行,並且OSv是開發JVM,它將運行在管理程序上,但不需要傳統操作系統。

此外,嵌入式Java實現(例如在智能卡中)通常不使用運行時JVM。相反,JVM是一種提前編譯器,可將字節碼轉換爲目標平臺的機器代碼。

+0

*裸金屬* ..現在,我看到你要去哪裏.. Neve知道這是可能的 - *實際* *謝謝:) – TheLostMind 2014-10-28 06:48:57

0

JMV有很多各種操作系統的實現。但它是一個使用OS的程序......所以你必須有一個運行它的JVM。

之後,Java程序,你會寫可以在任何操作系統的任何JVM上運行...

+1

事實上不正確。 JavaCard不需要主機操作系統,並且至少有幾個供應商爲舊式JEE應用程序服務器生產裸機JVM。 – chrylis 2014-10-28 06:24:01

+0

@chrylis - [檢查此](http://www.oracle.com/technetwork/java/javacard/javacard1-139251.html) – TheLostMind 2014-10-28 06:34:24

+0

@TheLostMind從概念上講,JCVM在卡操作系統上運行。實際上,我只聽說過AOT編譯的JCVM。 – chrylis 2014-10-28 06:36:57

相關問題