[转帖] 部分收费的Oracle JDK VS 完全免费的OpenJDK

来源:

http://www.flammulina.com/2018/10/28/%E9%83%A8%E5%88%86%E6%94%B6%E8%B4%B9%E7%9A%84oracle-jdk-vs-%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%E7%9A%84openjdk/

本文将讨论Oracle JDKOpenJDK之间的区别。注意目前 OpenJDK 和 Oracle JDK 仅由Oracle创建和维护。在详细介绍之前,让我们回顾一下JDK是什么,在开始对比Oracle JDKOpenJDK之间的差异。

什么是JDK?

Java Development Kit(JDK)包含Java Runtime Environment(JRE)以及用于编译和调试用于开发Java应用程序的Java代码的工具。JRE由库,Java虚拟机(JVM),Java Pluging和Java Web Start组成,用于运行Java应用程序。JRE作为独立版本不包含编译器和调试工具。

Oracle JDK  VS  OpenJDK

  1. Oracle JDK部分版本收费 ,如果要获得商业Oracle JDK许可证,我们需要直接联系Oracle销售人员。
  2. OpenJDK是完全免费的,可以按照GPL v2许可证使用。
  3. Oracle JDK 之前被称为SUN JDK,这是在Oracle收购之前。早些时候,它是Java语言的官方专有实现。收购后,它被命名为Oracle JDK  ,Oracle的团队维护着JDK。
  4. OpenJDK 是Java标准版平台的开源实现,由Oracle和开放Java社区提供。
  5. OpenJDK 是Java SE 7中Java Standard Edition的官方参考实现。
  6. OpenJDK 根据许可证GPL v2发布,其中Oracle JDK根据Oracle二进制代码许可协议获得许可。
  7. 实际上,Oracle JDK的构建过程是从OpenJDK源代码构建的。因此,Oracle JDK和OpenJDK之间没有重大的技术差异。
  8. 除基本代码外,Oracle JDK还包括Oracle Java插件和Java WebStart的实现。还包括第三方封闭源代码和开源组件。
  9. OpenJDK Font Renderer 和Oracle JDK Flight Recorder是Oracle JDK和OpenJDK之间显着的主要区别。
  10. Oracle JDK 的商业组件与可免费下载的Oracle JDK捆绑在一起,并且我们需要使用显式标志来运行它们。
  11. JRockit 是Oracle的JVM,从Java SE 7开始,H??otSpot和JRockit合并为一个JVM。所以现在我们只有合并的HotSpot JVM可用。
  12. 有些情况下,人们声称他们在运行OpenJDK时遇到了问题,并且在切换到Oracle JDK时得到了解决。考虑到Oracle JDK从OpenJDK获取其来源这一事实很难证明。
  13. 主要的Linux发行版(如Ubuntu,Fedora和Red Hat Enterprise Linux)提供OpenJDK或其变体作为其默认的Java SE实现。
  14. OpenJDK 6是一个尝试与Oracle JDK 6兼容的后端。它取自OpenJDK 7 b20并删除了Java 7功能,使其与Java SE 6兼容。
  15. OpenJDK 8源代码托管在http://hg.openjdk.java.net/jdk8
  16. OpenJDK 8和OpenJDK 9的目标并没有从OpenJDK 7改变。它们看起来是一样的,即为Java Standard Edition提供开源参考实现。
  17. OpenJDK是Ubuntu使用的Java的默认版本,最容易安装,而Oracle Java 7/8是Oracle自己的Java 7/8版本。

发布时间 

OpenJDK

OpenJDK将每6个月发布一次功能,只有在下一个功能发布时才会支持。它本质上是针对开发人员的连续发布流。

Oracle JDK

Oracle JDK的目标更多是针对重视稳定性的企业用户。它基于OpenJDK的一个版本,但随后获得了长期支持(LTS)。Oracle JDK每3年发布一次。

发展历程

OpenJDK

2008年5月,Fedora 9及Ubuntu 8.04于发行版中发布OpenJDK,完整地基于自由及开放源代码的OpenJDK。

2008年6月,IcedTea 6(Fedora 9上的一个包版本的OpenJDK)宣布已通过Technology Compatibility Kit测试,可以称得上是一个完全兼容的Java 6的运行环境。

2008年7月12日,Debian接受了OpenJDK-6的不稳定版本,但目前情况已经稳定。OpenJDK也可以在openSUSE、Red Hat Enterprise Linux及其派生系统,如CentOS中找到。

2008年7月,OpenJDK 7可以运行在Mac OS X和其他的BSD发行版。

2009年7月,Ubuntu 9.04中的二进制版本OpenJDK在Java SE 6 JCK中通过了所有的兼容性测试。

2016年8月22日,Google在Android 7.0 Nougat中,将专利的JDK替换成开源方案的OpenJDK,以彻底解决Java的专利问题。

Oracle JDK

Java EE,Java平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为Jakarta EE。是Sun公司为企业级应用推出的标准平台。Java平台共分为三个主要版本Java EE、Java SE和Java ME。

Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2 Platform,即“Java2平台”,修改后的JDK称为Java 2 Platform Software Developing Kit,即J2SDK。并分为标准版(Standard Edition,J2SE),企业版(Enterprise Edition,J2EE),微型版(MicroEdition,J2ME)。J2EE便由此诞生。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。现如今,J2EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想。

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9867970.html

时间: 2024-11-08 04:58:46

[转帖] 部分收费的Oracle JDK VS 完全免费的OpenJDK的相关文章

在openSUSE 13.1下安装卸载openjdk以及Oracle JDK

平时工作用机是openSUSE 13.1.之前作死换成Oracle JDK以后,intellj的界面变得不能看了,不想调试了于是卸载了Oracle JDK,重新安装了openjdk. [Oracle JDK的卸载] 1. 查询包名称 rpm -qa |grep java 查询到Oracle JDK rpm安装包的名字是 java-xxx-fcs. 2. 卸载 rpm -e java-xxx-fcs 3. 删除相关环境变量 把/etc/environment或者.bashrc中的JAVA_HOME

[转帖] Oracle JDK 11 正式发布.. 版本号真快

Java 11 / JDK 11 正式发布! oschina 发布于 2018年09月26日 收藏 19 评论 38 在您的既有IT基础设施上按需构建人工智能更高效>>>   美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进行下载: https://www.oracle.com/technetwork/java/javase/downlo

mac上卸载oracle jdk 1.8.0_31

mac上卸载oracle jdk 1.8.0_31版本,因为版本太高了.得安装旧版本才行. 卸载的顺序是:进入finder,然后点应用程序,按command+向上箭头键,分别进入根目录的系统与资源库找到java的目录把他删除即可.两个目录都要删除. 要看是否删除成功,打开终端输入:java -version,提示 No Java runtime present, requesting install. 即删除成功,也可以用此命令查看当前java sdk的版本.

安装Oracle JDK 7.0与8.0 for Mac OS X后Eclipse启动报错的解决之道

启动 Eclipse 时,直接报错The JVM shared library "/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib"does not contain the JNI_CreateJavaVM symbol. Unable to find any JVMs matching architecture "i386&qu

Centos7安装Oracle JDK

查看Linux是否自带的JDK,如有openJDK,则卸载 1 java -version 1 rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]' 卸载openjdk 1 su root 2 3 yum -y remove java java-1.7.0-openjdk 下载oracle jdk 1 wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;&quo

Fedora Server 21下OpenJdk和Oracle Jdk共存

参考文章:博客园-三维蚂蚁 Linux公社 1.首先需要下载对应平台的Jdk:Oracle 官网 2.使用yum或rpm命令安装Jdk: yum install ./jdk-8u40-linux-x64.rpm 3.配置环境变量 vi /etc/profile 后在倒数第三行处输入下面的内容: export JAVA_HOME=/usr/java/jdk1.8.0_40 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/

Ubuntu Linux下安装Oracle JDK

Ubuntu Linux下安装Oracle JDK Dennis Hu 2014-4-22 说明:因为非常多系统不支持使用OpenJDK,因此在ubuntu下会须要安装Oracle JDK.而Oracle JDK的安装貌似没有提供apt方式,因此安装Oracle JDK的方式相对麻烦一些,我常常安装,为了方便别人同一时候方便自己查看,把它记下来. 第一步:区分32位还是64位操作系统 先确定你的ubuntu linux是32位还是64位的,方法非常多,这里介绍一种就可以. $uname -a 第

在 Debian 上安装 Oracle JDK 和 Eclipse

测试系统:Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux 一.Oracle JDK 的安装 1.下载 Oracle JDK(或者应该叫 Java SE 吧), 下载页面:_ http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html JDK-8-update-20-x64:_ http://download.oracle.com/otn-pub/java/jdk

Mac下Oracle JDK的安装配置

我之前是直接用的命令brew cask install java, 装好后java的版本如下: ? ~ $ ls -lh `which java` lrwxr-xr-x 1 root wheel 74B Jul 27 19:07 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java ? ~ $ java -version java version "1.8.0_