Oracle与OpenJDK之间的区别

vs.png

简介

在本文中,咱们将探讨Oracle Java Development KitOpenJDK之间的差别并进行比较。html

Oracle JDK

Oracle JDK由Oracle公司开发,该公司是Sun许可证,基于Java标准版规范实现。它以二进制产品的形式发布。它支持多种操做系统,如Windows,Linux,Solaris,MacOS等。它支持不一样的平台,如Intel 32位和64位架构,ARM架构和SPARC。它彻底基于Java编程语言。以后,该许可证宣布将根据GPL(通用公共许可证)许可证发布。Oracle JDK包含许多组件做为库形式的编程工具集合。java

咱们来看看Java SE的历史:编程

  • JDK Beta - 1995
  • JDK 1.0 - 1996年1月
  • JDK 1.1 - 1997年2月
  • J2SE 1.2 - 1998年12月
  • J2SE 1.3 - 2000年5月
  • J2SE 1.4 - 2002年2月
  • J2SE 5.0 - 2004年9月
  • Java SE 6 - 2006年12月
  • Java SE 7 - 2011年7月
  • Java SE 8(LTS) - 2014年3月
  • Java SE 9 - 2017年9月
  • Java SE 10(18.3) - 2018年3月
  • Java SE 11(18.9 LTS) - 2018年9月
  • Java SE 12(19.3) - 2019年3月

注意:再也不支持斜体版本。架构

咱们能够看到Java SE的主要版本大约每两年发布一次,直到Java SE 7.从Java SE 6开始花了五年时间,以后又花了三年时间到达Java SE 8。oracle

自Java SE 10以来,咱们能够期待每六个月发布一次新版本。可是,并不是全部版本都是长期支持(LTS)版本。因为Oracle的发布计划,LTS产品发布仅每三年发布一次。jsp

OpenJDK

OpenJDK是Java SE平台版的开源和免费实现,它是Sun Corporation(如今的Oracle Corporation)于2006年开始的开发结果。它是根据GNU GPL许可证受权的。它最初于2007年发布。它由Oracle Corporation,Red Hat,IBM,Apple Inc.,OpenJDK和Java Community等开发。它是使用C ++和Java编程语言编写的。它支持不一样的操做系统,如FreeBSD,Linux,Microsoft Windows,Mac OS X. OpenJDK是Java SE Platform Edition的官方参考实现。编程语言

如今让咱们看看OpenJDK版本:工具

  • OpenJDK 6项目 - 基于JDK 7,但通过修改后提供了Java 6的开源版本
  • OpenJDK 7项目 - 2011年7月28日
  • OpenJDK 7u项目 - 该项目开发Java Development Kit 7的更新
  • OpenJDK 8项目 - 2014年3月18日
  • OpenJDK 8u项目 - 该项目开发Java Development Kit 8的更新
  • OpenJDK 9项目 - 2017年9月21日
  • JDK项目于2018年3月10日至20日发布
  • JDK项目于2018年9月11日至25日发布
  • JDK项目发布12 - 稳定阶段

Oracle与OpenJDK之间的比较(信息图表)

对比图.jpg

Oracle与OpenJDK之间的主要区别

Oracle与OpenJDK都是市场上的热门选择; 让咱们讨论一下OracleJDK与OpenJDK之间的一些主要差别:性能

  1. Oracle JDK版本将每三年发布一次,而OpenJDK版本每三个月发布一次。开发工具

  2. Oracle JDK将更多地关注稳定性,它重视更多的企业级用户,而OpenJDK常常发布以支持其余性能,这可能会致使不稳定。

  3. Oracle JDK支持长期发布的更改,而Open JDK仅支持计划和完成下一个发行版。

  4. Oracle JDK根据二进制代码许可协议得到许可,而OpenJDK根据GPL v2许可得到许可。 使用Oracle平台时会产生一些许可影响。如Oracle 宣布的那样,在没有商业许可的状况下,在2019年1月以后发布的Oracle Java SE 8的公开更新将没法用于商业,商业或生产用途。可是,OpenJDK是彻底开源的,能够自由使用。

  5. Oracle JDK的构建过程基于OpenJDK,所以OpenJDK与Oracle JDK之间没有技术差别。

  6. 顶级公司正在使用Oracle JDK,例如Android Studio,Minecraft和IntelliJ IDEA开发工具,其中Open JDK不太受欢迎。

  7. Oracle JDK具备Flight Recorder,Java Mission Control和Application Class-Data Sharing功能,Open JDK具备Font Renderer功能,这是OpenJDK与Oracle JDK之间的显着差别。

  8. Oracle JDK具备良好的GC选项和更好的渲染器,而OpenJDK具备更少的GC选项,而且因为其包含本身的渲染器的分布,所以具备较慢的图形渲染器选项。

  9. 在响应性和JVM性能方面,Oracle JDK与OpenJDK相比提供了更好的性能。

  10. 与OpenJDK相比,Oracle JDK的开源社区较少,OpenJDK社区用户的表现优于Oracle JDK发布的功能,以提升性能。

  11. 若是使用Oracle JDK会产生许可影响,而OpenJDK没有这样的问题,而且能够以任何方式使用,以知足彻底开源和无偿使用。

  12. Oracle JDK在运行JDK时不会产生任何问题,而OpenJDK在为某些用户运行JDK时会产生一些问题。

  13. 根据使用方的使用和许可协议,现有应用程序能够从Oracle JDK迁移到Open JDK,反之亦然。

  14. Oracle JDK将从其10.0.X版本将收费,用户必须付费或必须依赖OpenJDK才能使用其免费版本。

  15. Oracle JDK不会为即将发布的版本提供长期支持,用户每次都必须经过更新到最新版本得到支持来获取最新版本。

  16. Oracle JDK之前的1.0版之前的版本是由Sun开发的,后来被Oracle收购并为其余版本维护,而OpenJDK最初只基于Java SDK或JDK版本7。

  17. Oracle JDK发布时大多数功能都是开源的,其中一些功能免于开源,而且根据Sun的许可受权,而OpenJDK发布了全部功能,如开源和免费。

  18. Oracle JDK彻底由Oracle公司开发,而Open JDK项目由IBM,Apple,SAP AG,Redhat等顶级公司加入和合做。

Oracle与OpenJDK比较表

如下是Oracle与OpenJDK之间最重要的比较:

Oracle与OpenJDK之间比较 Oracle JDK OpenJDK
执照 它是根据GPL(通用公共许可证)许可证受权的 它是根据GNU GPL(通用公共许可证)许可证受权的
发展 由Sun Microsystems Inc.开发 由Oracle,OpenJDK和Java社区开发
性能 根据Sun JDK的开发和实现提供性能 提供由Oracle JDK之上的一些供应商开发的高性能
可扩展性 根据Sun的实施 可使用其余库或Oracle JDK进行改进
费用 Sun的官方执行许可证 开源和免费实施可供无偿使用
速度 由Sun Microsystems Inc.开发 第三方供应商将经过进行一些调整来提升JVM的速度
操做系统 支持Windows,Linux,Solaris,MacOS FreeBSD,Linux,Microsoft Windows,Mac OS X.
便于使用 能够与任何应用程序开发一块儿使用 能够与任何应用程序开发和其余开源工具一块儿使用,以提升开源实现模型的性能。

结论

Oracle JDK可用于开发Java Web应用程序,独立应用程序以及许多其余图形用户界面以及其余开发工具。Oracle JDK执行的全部操做或任务也能够由OpenJDK执行,但只有Oracle与OpenJDK之间的区别在于Open JDK在现有Oracle JDK之上的许可和其余工具集成和实现。使用OpenJDK的优势是能够根据应用程序的要求修改性能,可伸缩性和实现,以根据须要调整Java虚拟机。

OpenJDK的优点更多,Oracle JDK的使用在Oracle JDK实现中使用的标准方面也有一些好处,这将确保应用程序稳定和良好维护。

相关文章
相关标签/搜索