2014-07-05 151 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