购物车中还没有商品,赶紧选购吧!
文档帮助中心
文章分类列表

JDK与OpenJDK有什么区别?

百科 > JDK与OpenJDK有什么区别?

一、说明

安装,部署软件的时候,经常会碰到JDK还有OpenJDK,那JDK与OpenJDK这2个有什么区别?JDK和OpenJDK怎么选?

简单说JDK是Oracle拥有的,很多版本需要购买才能商业使用;OpenJDK是JDK的开源版本,可以免费商用。 OpenJDK相比JDK功能会有些缺失。

国内很多Java软件都是在JDK下开发,在JDK下可以正常运行,OpenJDK下运行有时会有莫名其妙的问题。所以会更推荐大家安装JDK,安装JDk 8u202这个版本,这是最后一个(也是最新)可以免费商业的JDK版本。

二、什么是JDK

JDK,Java Development Kit是Sun公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。

JDK就是java开发所需的工具包,包含了java运行环境JRE,java源码编译器javac,java程序调试分析工具(jconsole,jvisualvm),java程序编写所需的文档和demo例子程序。如果只是要运行java程序,安装JRE就可以了,如果你要编写java程序就需要安装JDK。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。

Oracle公司在2009年收购SUN公司后,也接管了Java,所以现在说JDK有时会说Oracle JDK。Oracle JDK 由 Oracle 维护和开发。它符合 OpenJDK 规范,但不是开源代码。Oracle JDK 在 JVM 响应能力和生产力方面要好得多。由于其对企业客户的重要性,它更注重稳定性。

Oracle JDK 完全由 Oracle Corporation 维护和开发。

三、什么是OpenJDK

OpenJDK是Java的开发环境(JDK)的开源版本,完全自由,开放源码。

由于JDK的一部分特性采用商业许可证而非开源。因此Sun公司在去掉了Java少量闭源特性后,于2009年发布了基于GPL的开源JDK,使JDK成为自由软件,也就是后面的OpenJDK。

OpenJDK是开放源代码,由Oracle维护和开发,但允许Java社区和其他公司共同参与开发,如Red Hat、Azul Systems、IBM、Apple Inc等。

四、JDK与OpenJDK区别:

4.1 授权协议的不同

OpenJDK采用GPL V2协议放出,而Oracle JDK则采用JRL协议放出。

两者协议虽然都是开放源代码的,但是GPL V2允许在商业上使用,而JRL只允许个人研究使用,商业使用需要购买。

4.2 OpenJDK源代码不完整

JDK因为一部分特性采用商业许可证而非开源,因此无法开放给OpenJDK使用,其中最主要的就是JMX可选元件SNMP部份。OpenJDK将这些不能开放的特性(源代码)抽离出来,作成plug。你可以在OpenJDK编译时选择要不要使用这些plug。

4.3 部分源代码用开源代码替换

由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码。

4.4 OpenJDK只包含最精简的JDK

OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP...,并且可以分离的软件包也都是尽量的分离。但是这大多数都是自由软件,你可以自己下载加入。

4.5 不能使用Java商标

在安装JDK的机器上,输入“java -version”显示的是java。

在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK。如果是使用Icedtea补丁的OpenJDK,显示的也是java。

4.6 支持维护

JDK每三年发布一次,而 OpenJDK 每六个月发布一次。

JDK为其发行版(部分版本)提供了长期的支持。而OpenJDK只支持维护某个版本到下一个版本发布。

五、JDK和OpenJDK怎么选

JDK 比 OpenJDK 更稳定。OpenJDK和JDK的代码几乎相同,但JDK有更多的类和一些错误修复。如开发企业/商业软件,一般建议选择JDK,因为它经过了彻底的测试和稳定。某些情况下,有些人提到在使用OpenJDK 可能会遇到了许多应用程序崩溃的问题,但只需切换到JDK就可以解决问题。OpenJDK的特点是更新频繁,实现快速迭代和高效试错,为JDK LTS版本打下基础。

JDK的特点是单版本长期支持,提供稳定可用的商业版本,商用收费,学习研究免费。如需在开源基础上开发及问题优化维护或不那么注重稳定性,则可以选择OpenJDK。

附录:

附录1、JDK下载

https://66office.com/goods.php?id=256

附录2、Java历史版本,JDK历史版本

https://66office.com/article.php?id=640



————————————————

声明:本文由 66办公「66office.com」原创,欢迎转载,转载请保留链接。

链接:https://www.66office.com/article.php?id=644

发表评论
* 内容:
 
上一篇:Typora快捷键,Typora常用快捷键 下一篇:Win10关闭IPv6,Win10怎么禁用IPv6?