14

那么是否可以在 Windows 7 机器上完成 Java 守护程序(Apache Daemon)的所有开发,然后在安装了 OpenJDK 的 Ubuntu 服务器上安装该服务(仍然需要搜索如何做到这一点)?

如果是,我如何识别两个系统上的 Java 兼容版本?我的意思是,如果我在 Windows 上使用 Java 1.6,我应该在 Ubuntu 服务器上使用的最不兼容的 OpenJDK 版本是什么?

4

4 回答 4

10

大多数情况下是的,但对于极端情况,它取决于并且应该在与生产配置密切匹配的舞台上仔细测试。

以下是在 OpenJDK 上发生的编译器崩溃和测试失败的示例,而在 Oracle JDK 构建时相同的源快照是绿色的:

http://travis-ci.org/#!/plokhotnyuk/actors/builds/1948184

http://travis-ci.org/#!/plokhotnyuk/calculator/builds/1948194

于 2012-07-24T11:04:37.677 回答
3

Java 字节码是可移植的,可以使用任何具有相同或更新版本的 JVM 执行。

于 2012-07-24T11:02:21.960 回答
0

不,那不是,但您不必担心。Java 是一个标准化平台,您应该能够在它的任何实现上编译和运行。只要您牢记版本即可。Java 7 软件不会完全在 Java 6 安装上运行。Java 6 软件确实可以完全在 Java 7 安装上运行。

于 2012-07-24T11:14:50.837 回答
0

如果您已经为 Java 1.6 编译,则至少需要 OpenJDK 1.6。Hotspot 和 OpenJDK 不同的情况很少见,但由于 Hotspot 基于 OpenJDK,您更有可能看到构建版本的细微差别。

两个 JVM 都符合 JLS 规范,恕我直言,实际上是参考实现。OpenJDK 是开放标准,HotSpot 被广泛用作商业标准。发行版几乎完全相同。

如果这是一个真正的问题,您可以在 Ubuntu 上安装相同版本的 Hotspot。

于 2012-07-24T11:20:46.117 回答