Oracle JDK和Open JDK以及垃圾收集之间的区别

Oracle和Open JDK之间有什么关键的区别?

比如垃圾回收和其他的JVM参数是一样的吗?

GC之间的工作是不同的?

openjdk和oracle jdk都只由Oracle创build和维护。

openjdk和oracle jdk是通过了TCK(Java Technology Certification Kit)的相同Java规范的实现。

大多数JDK的供应商都是在openjdk的基础上编写的,通过对[主要replace许可的专有部分/replace只能在特定操作系统上工作的更多高性能项目]组件进行一些调整,而不会破坏TCK兼容性。

许多供应商实现了Java规范,并通过了TCK。 例如IBM J9,Azul Zulu,Azul Zing,Oracle JDK。

几乎每个现有的JDK都来自openjdk。

正如许多人所build议的,授权是JDK之间的一个变化。

参考: https : //en.wikipedia.org/wiki/List_of_Java_virtual_machines#Proprietary_implementations

没有关系。 openjdk项目主要基于Sun捐赠的热点源代码。

而且,openjdk被选为java 7的参考实现,由Oracle工程师维护。

这里有一个更详细的回答你的问题,链接到这个博客文章:

:在OpenJDK存储库中find的源代码与用于构buildOracle JDK的代码有什么区别?

:非常接近 – Oracle JDK发行版的构build过程是在OpenJDK 7上构build的,只是增加了一些部分,如部署代码(包括Oracle的Java插件和Java WebStart的实现)以及一些封闭的源代码第三第三方组件像graphics光栅,一些开放源码的第三方组件,比如Rhino,还有一些零碎的东西,比如附加的文档或者第三方的字体。 outlook未来,我们的目标是开源Oracle JDK的所有部分,除了那些我们认为是商用function的产品,例如JRockit Mission Control(Oracle JDK尚未提供),并且用开源替代品替代设防的第三方组件以实现更接近的奇偶校验在代码库之间。

Oracle JDK和OpenJDK

-OpenJDK是Java标准版平台的开源实现,由Oracle和开源Java社区贡献。

-OpenJDK是在GPL v2许可下发布的,其中Oracle JDK根据Oracle二进制代码许可协议获得许可。

  • 实际上,Oracle JDK的构build过程是从OpenJDK源代码构build的。 所以Oracle JDK和OpenJDK没有太大的技术上的区别。 除了基本代码,Oracle JDK还包括Oracle的Java插件和Java WebStart的实现。 还包括第三方闭源和开源组件,如graphics光栅和犀牛分别。 OpenJDK Font Renderer和Oracle JDK Flight Recorder是Oracle JDK和OpenJDK之间的主要区别。
  • Rockit是Oracle的JVM,而从Java SE 7中,HotSpot和JRockit合并成一个JVM。 所以现在我们只有合并的HotSpot JVM可用。 – 有些人在运行OpenJDK时声称自己遇到了问题,并在切换到Oracle JDK时得到解决。 -Twitter有它自己的JDK。
  • 像Android Studio,IntelliJ IDEA,Minecraft等软件预计将使用Oracle JDK。 事实上,警告。

来源: – http://javapapers.com/java/oracle-jdk-vs-openjdk-and-java-jdk-development-process/