本页上针对 Ubuntu 的五个 Java 版本有何区别?

本页上针对 Ubuntu 的五个 Java 版本有何区别?

我想在我的电脑上安装 Java,以便我可以开发程序,然后我遇到了Ubuntu 社区文档中有关 Java 的此页面。 它说:

Java 是 Oracle(原 Sun Microsystems)的一项技术。它有多种实现,下面将讨论其中的五种:

  • OpenJDK:OpenJDK 项目的主要目标是提供 Java SE 平台 (6 和 7) 的开源实现。这是 Ubuntu 使用的默认 Java 版本,也是最容易安装的版本。
  • 甲骨文(Sun)Java 6:Oracle(Sun)Java 6 是 Java 6 的参考实现。
  • Oracle Java 7:Oracle Java 7 是 Java 7 的参考实现。
  • IBM Java:IBM Java 是 PowerPC 机器上的首选 Java 解决方案。它是使用即时编译器的重新实现。它只能从 IBM 网站获得。
  • GNU 编译器:GNU 制作的 Java 编译器。只有开发人员才需要安装它。

我读了内容,但还是有点困惑。它们都是不同版本的 JDK 吗?如果不是,那是什么?

您更喜欢哪一个?

答案1

它们都是不同版本的 JDK 吗?如果不是,那是什么?

他们是不同的实现Java/Java 开发工具包 (JDK)。Java 是一个标准平台,所有这些均以自己的方式实现该平台。其中:

  • OpenJDK 和 GNU Compiler 是唯一开源的。我通常更喜欢它们——安装(apt-get或软件中心)的简易性是一个重要因素。
    • 特别是 OpenJDK,主要源自 Oracle/Sun 开源的“官方”Java 源代码;它得到了 Oracle 的支持。
  • Oracle Java 6 和 7 是“真正的”Java,如果你愿意的话,它们来自发明 Java 的公司(即 Sun,但 Oracle 不久前收购了它们)。这就是为什么它们被称为参考实现。如果您也在另一个平台上使用 Oracle JDK,或者 OpenJDK 给您带来问题,您可能想要使用它们。
    • 6 和 7 指的是语言/平台的版本。7 较新,功能更多,但测试较少;6 非常成熟和稳定。如果您刚开始使用,我更喜欢 6。
  • 与 wiki 相反,IBM 为所有平台制作了 JDK/JRE,尽管他们的可能是唯一适用于 PowerPC 的。

如果你刚开始编程,几乎任何这些都适合你。选择 OpenJDK 只是因为它易于安装。

我区分这些的唯一经验是在低资源环境(128-192MB RAM - VPS)中进行编译;我发现 Oracle Java 6 JDK 对一个程序效果最好(即成功),而 IBM Java 6 JDK 对另一个程序效果最好......

答案2

Java 语言和运行时环境是一个规范。所有这些包都是同一规范的不同实现。

更多详情请阅读: https://stackoverflow.com/questions/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

通常你应该使用 openJDK,因为它和 Oracles JDK 一样好用,而且是开源的,所以你不会遇到任何许可问题。更多信息请访问http://openjdk.java.net/

答案3

页面上解释了每一个是什么,但本质上它们都是 Orcale 的 java,只是由不同的团队开发的。

  • OpenJDK 是 Oracle Java 版本的开源开发。
  • Java 6 和 7 只是 Oracle Java 标准版的版本。& 是最新版本,我认为是去年六月或七月发布的。
  • IBM 版本主要用于 PowerPC,因为除非您拥有 PowerPC 处理器,否则它的状态可能对您来说并不重要。
  • GNU 编译器适用于使用 Java 编写代码的开发人员。它只是一个编译器适用于 Java。如果您不知道这个是什么,那么除非您想了解 Java 开发,否则您可能不需要它。

我使用 OpenJDK 是因为它与 Minecraft 配合得更好。没有其他原因哈。

账单

答案4

这可能会激怒许多 FLOSS 人士,但这是我的简短回答。

Oracle 收购了 Sun,Oracle (Sun) Java 6 只是 Oracle Java 7 的旧版本。话虽如此……除非您有充分的理由不使用 Oracle 的版本。其他一切都是试图复制 Oracle 所做的,但没有一个是那么好。

至于质量问题。GNU Java 是我见过的最糟糕的 JVM 尝试。除非你喜欢频繁崩溃。否则不要使用它。IBM Java——老实说我从来没有用过,所以没有意见 OpenJDK——如果你要使用 JVM 的开源实现,我会使用 OpenJDK 并使用 7.x 版本。

相关内容