那么,在 Windows 7 上开发 Java 守护程序(Apache Daemon)的所有工作完成后,能否将其安装在已安装 OpenJDK 的 Ubuntu 服务器上(仍需搜索如何做到这一点)?
如果可以,我该如何确定两个系统上兼容的 Java 版本?我的意思是,如果我在 Windows 上使用 Java 1.6,那么 Ubuntu 服务器上至少需要哪个兼容的 OpenJDK 版本?
那么,在 Windows 7 上开发 Java 守护程序(Apache Daemon)的所有工作完成后,能否将其安装在已安装 OpenJDK 的 Ubuntu 服务器上(仍需搜索如何做到这一点)?
如果可以,我该如何确定两个系统上兼容的 Java 版本?我的意思是,如果我在 Windows 上使用 Java 1.6,那么 Ubuntu 服务器上至少需要哪个兼容的 OpenJDK 版本?
大部分情况是可以使用的,但对于极端情况,还需要在与生产配置密切匹配的测试环境中进行仔细测试。
以下是编译器崩溃和测试失败的示例,这些问题出现在OpenJDK上,而使用Oracle JDK构建相同源代码快照时则无问题:
http://travis-ci.org/#!/plokhotnyuk/actors/builds/1948184
http://travis-ci.org/#!/plokhotnyuk/calculator/builds/1948194
Java字节码是可移植的,并且可以在具有相同或更新版本的任何JVM上执行。
如果您编译的是Java 1.6,那么您至少需要OpenJDK 1.6。虽然Hotspot和OpenJDK有时会有所不同,但由于Hotspot基于OpenJDK,因此您更可能看到构建版本中的轻微差异。
两个JVM都符合JLS规范,并且在我看来实际上是参考实现。OpenJDK是开放标准,而HotSpot则被广泛用作商业标准。发布版本几乎完全相同。
如果这是一个真正的问题,您可以在Ubuntu上安装相同版本的Hotspot。
不,不是这样,但你不用担心。Java是一个标准化平台,你应该能够在任何实现上编译和运行它。只要记住版本即可。Java 7软件不会完全在Java 6安装中运行。但Java 6软件可以完全在Java 7安装上工作。