OpenJDK 8 是 Java SE 8 的参考实现吗?

Posted

技术标签:

【中文标题】OpenJDK 8 是 Java SE 8 的参考实现吗?【英文标题】:Is OpenJDK 8 a reference implementation of Java SE 8? 【发布时间】:2014-11-14 05:07:19 【问题描述】:

This article 声明 OpenJDK7 是 Java SE7 的官方参考实现。

有人可以确认 Java 8 也是如此吗?那个 Open JDK8 是 Java SE8 的参考实现?

有一个partial answer at this link,但我的问题是关于 Java 8。

【问题讨论】:

【参考方案1】:

是的,open JDK8 是 JAVA SE8 的参考实现。

官方 Java SE 8 (JSR 337) 的参考实现完全基于 根据 OpenJDK 中的 JDK 8 项目提供的开源代码 社区。为 Linux x64 和 Windows 提供了二进制文件 i586 平台和适用于 Linux i586 的紧凑型配置文件。

二进制文件在两种不同的许可下可用:GNU 通用公共许可证版本 2,具有类路径例外和 Oracle 二进制代码许可证。对于给定的平台,下面的二进制文件 不同的许可证是从完全相同的源代码构建的,并且是 功能等效;唯一真正的区别是许可证 本身。您选择哪种许可证取决于您的特定 业务和法律要求。

来源:http://jdk.java.net/java-se-ri/8

【讨论】:

好的,因为这是在后面的问题中接受的答案。这是否意味着 ***.com/questions/17360011/… 中引用的差异不再有效? 参考实现是什么意思? @Lealo Java 语言本身只是一个规范(更像是一个文档),您需要实现的工具(更具体地说是编译器javac 和运行时java) > 该规范...现在,由于 Java 规范是开源且免费提供的,任何有能力的人都可以创建它的实现... OpenJDK 就是这样一种实现,尽管来自规范本身的创建者...被认为是实现规范的其他人的 goto 参考 @Asturio :标题中的问题最初询问的是“Oracle JDK 8 和 OpenJDK 8 之间的差异”,这是正文中的另一个问题,上面已回答。我刚刚编辑了问题标题,使其与其他问题相同。要回答有关差异的问题,您需要在别处寻找,抱歉。 对于 Java 11,关于 Oracle JDK 和 OpenJDK 之间差异的问题的最有用答案似乎在这里:***.com/a/53749226/2693875

以上是关于OpenJDK 8 是 Java SE 8 的参考实现吗?的主要内容,如果未能解决你的问题,请参考以下文章

红帽取代 Oracle,接管 OpenJDK 8 和 OpenJDK 11 | 极客头条

如何在 mac 上安装 openjdk 8 和 sbt 并使用默认的 openjdk 8(不是 13)?

删除Centos7 中原有的java1.8(openjdk)

Docker openjdk-8-jdk-alpine 容器时间与jdk时区不同修改方法

Docker:java:openjdk-8-jdk-alpine 图像缺少 javac 和 tools.jar

OpenJDK 11 究竟比 8 快了多少?看看这个基准测试