此页面上适用于Ubuntu的Java的五个版本之间有什么区别?


9

我想在计算机上安装Java,以便开发程序,并且在Ubuntu社区文档中找到有关Java的页面。它说:

Java是Oracle(以前称为Sun Microsystems)的一项技术。有几种实现,这里将讨论其中的五个:

  • OpenJDK:OpenJDK项目的主要目标是产生Java SE平台(6和7)的开源实现。这是Ubuntu使用的Java的默认版本,并且最容易安装。
  • Oracle(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的不同版本吗?如果没有,那又如何?

您会选择哪一个?

Answers:


6

它们都是JDK的不同版本吗?如果没有,那又如何?

它们是Java / Java开发套件(JDK)的不同实现。Java是一个标准平台,所有这些都以自己的方式实现了该平台。这些:

  • 只有OpenJDK和GNU编译器是开源的。我通常更喜欢它们-安装(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的唯一JDK / JRE。

如果您刚开始编程,那么几乎所有这些都非常适合。选择OpenJDK只是因为它易于安装。

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


1
只是快速的更正-对于Java 7,参考实现是OpenJDK,而不是Oracle JDK。是的,除了oracle(sun)的Solraris之外,IBM的所有主要平台都具有实现。
intelekt 2014年


1

它解释了页面上的每个内容,但实际上它们都是由不同小组开发的Orcale的Java。

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

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

法案


1

据我所知,openJDK与Sun JDK几乎相同,主要区别在于它是开源的。如果您是PC用户,则不能使用IBM JDK,因为它在PowerPC上受限制。对我来说是个不错的选择,因为它似乎还不成熟。


0

这可能会激怒更多的FLOSS人员,但这是我的简短答案。

甲骨文收购了Sun,甲骨文(Sun)Java 6只是Oracle Java 7的旧版本。话虽如此。其他所有事情都是试图复制Oracle所做的事情,但没有一个是那么好。

就质量而言。GNU Java是我见过的JVM的最糟糕尝试。.除非您经常崩溃,否则请不要使用它。IBM Java –从来没有诚实地使用过它,因此,OpenJDK没有意见–如果您要使用JVM的开源实现,我将使用OpenJDK并使用7.x版本。


0

FWIW,与其他任何版本相比,Oracle / Sun Java的问题更少。OpenJDK大部分时间都在工作。我从来没有让GNU Java工作。IBM Java看起来不错,但是我没有太多经验。

WebUpd8te具有一个PPA,可通过apt-get轻松进行安装。除非您有理由使用其他版本(例如许可),否则我将使用Oracle Java。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.