2014-07-05 150 views
2

在做了一些研究之後(幾乎所有這些都指向了大約十年前的頁面,並且仍然沒有幫助),但我仍然無法弄清楚是否在x86(或x64)上編寫的Java程序,它基本上同樣的東西)系統將在ARM系統上工作。Java x86與Java ARM兼容?

我會在幾天內爲自己測試一下,當我終於到最近的微型中心拿起一張新的SD卡(用於我的Raspberry Pi),但同時我很想知道字節碼在x86上編譯(即我的筆記本電腦和我的桌面)與ARM解釋器兼容。據我所知,它應該沒有問題。我只想看到一些實際的文檔,告訴我它會在沒有適應的情況下運行。

我應該提到我沒有使用操作系統或系統API,以防萬一。

+0

這實際上是[將Java編譯爲字節碼而不是本地代碼](https://en.wikipedia.org/wiki/Write_once,_run_anywhere)。 –

回答

2

是的。 Java運行時環境(JRE)包含允許真正跨平臺軟件的虛擬機。只要你不使用本地庫(或JNI),一切都應該是真正的跨平臺。此外,您需要檢查虛擬機的版本級別是否與某些角落案例相同。

+0

優秀的答案。我不確定JRE在處理器架構上的工作是否相同。尚未測試過交叉,只是跨OS。感謝您清理這個!編輯:我很好奇,我有一本免費的Java 6書(與我下載的舊版本一起出色地工作!)。 java 6與java 8有多相似? – b4ux1t3

+2

爲Java 6編寫的任何東西都可以在Java 8(和7)中使用,但是Java 8包含了以前版本中不存在的一些主要的新功能。 – VGR