使用 openJDK 而不是 Oracle 会失去任何功能吗?

使用 openJDK 而不是 Oracle 会失去任何功能吗?

我的用法:

我想在 Ubuntu 16.04 上安装 Java。我不做任何繁重的编码工作,但我很好奇 Oracle 和 OpenJDK 之间有什么区别

我运行来安装的内容

当我运行命令时

sudo update-alternatives --config java

正如这里建议的:https://poweruphosting.com/blog/install-java-ubuntu/,我收到一条提示:

There are 2 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      auto mode
  1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
* 2            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: 1

我尝试回答这个问题:

我来自OpenJDK - Oracle 更好吗?

这里 (OpenJDK 与适用于 Android Studio 的 Oracle JDK)表明 OpenJDK 是

  1. 更容易调试,但是
  2. 慢点

有没有 Java 的忠实用户愿意发表一下意见?谢谢!

答案1

首先,JDK 由 Java 运行时环境 (JRE) 和各种可帮助您编译和调试 Java 代码的工具组成。JRE 是独立的,不包含任何编译或调试工具。因此,如果您不从事开发工作,只想运行用 Java 编写的应用程序,那么您只需安装 JRE 即可。

Oracle JDK 由 Oracle 维护(令人惊讶),而 OpenJDK 是一个开源实现,得到了开放 Java 社区和 Oracle 的贡献。据我所知,Oracle JDK 的构建过程是从 OpenJDK 源代码构建的。因此,由于 Oracle JDK 的源代码来自 OpenJDK,因此 Oracle JDK 和 OpenJDK 之间没有重大的技术差异。我的理解是,所有开发和错误修复都在 OpenJDK 中进行,然后传播到 Oracle JDK。

我引用一下回答这里:

在 Java 6 时代,两者曾存在很大差异,OpenJDK 运行速度慢,支持少。但如今,除了 java-web-plugin(被社区重写,命名为 icedtea-web)之外,它们已经完全一样了。两个版本都不算“错误”。

仍然有人声称 OpenJDK 比 Oracle 的 JDK 差,但这已经成为一种神话。

有人声称他们在运行 OpenJDK 时遇到了问题,但在切换到 Oracle JDK 或反之时问题得到了解决。但这些说法通常无法得到证实。考虑到 Oracle JDK 的源代码来自 OpenJDK,这些说法始终难以证实。

另外,顺便提一下,只要遵循 Java 语言规范,您就可以创建自己的 JDK。许多公司(例如 Twitter)都有自己的 JDK。当然,在执行此操作之前,您必须遵循某些流程(我目前不知道)。

相关内容