建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

发帖: 136粉丝: 15

发消息 + 关注

更新于2021年02月23日 15:50:52 131 1
直达本楼层的链接
楼主
显示全部楼层
[技术干货] OpenJDK 和 OracleJDK 的区别

OpenJDK 和 OracleJDK 的区别

OpenJDK 和 OracleJDK 的区别1.介绍1.1 OpenJDK1.2 Oracle JDK2.差别




1.介绍

1.1 OpenJDK

Java最早由SUN公司(Sun Microsystems,发起于美国斯坦福大学,SUN是Stanford University Network的缩写)发明,2006年SUN公司将Java开源,此时的JDK即为OpenJDK。

OpenJDK是Java SE的开源实现,他由SUN和Java社区提供支持,2009年Oracle收购了Sun公司,自此Java的维护方之一的SUN也变成了Oracle。

openjdk是jdk的开放原始码版本,以GPL协议的形式放出

OpenJDK根据许可证GPL v2发布。

1.2 Oracle JDK

Oracle JDK之前被称为SUN JDK,显而易见,这是在2009年Oracle收购SUN公司之前,收购后被命名为Oracle JDK。


2.差别

  • 授权协议的不同:

OpenJDK采用GPL V2协议发布,而JDK则采用JRL协议发布。
两个协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
  • OpenJDK只包含最精简的JDK:

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

这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放OpenJDK使用,其中最主要的部分就是JMX中的可选元件SNMP部分的代码。
因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。
而Icedtea则为这些不完整的部分开发了相同功能的源代码(OpenJDK6),促使OpenJDK更加完整。
  • OpenJDK和IcedTea的关系:

IcedTea项目最初是由于OpenJDK不完整(因产权 而造成的障碍)而创立的,社区需要一个完整的开源工具链及代码库。
IcedTea长期以来一直是OpenJDK的一套补丁,正如刚才我所说到的,它有一个 基于“./configure”的不同的构建系统。
在OpenJDK中,我们已经替换了产权代码(encumbered code),因此不再有障碍了。
正因为我们的努力,IcedTea项目已经减少了使用补丁的数量。
IcedTea中看上去不错的一点是,它的 configure脚本使得在多种不同的模式下构建OpenJDK变得很容易,比如使用Zero Assembler Port在非x86/sparc芯片上来支持编译等等。
IcedTea提供的一大块内容是plugin/java-web-start基础架构。
  • 部分源代码用开源代码替换:

由于产权的问题,很多是SUN JDK的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。
  • 不能使用Java商标:

这个很容易理解,在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK,但是如果是使用Icedtea补丁的OpenJDK,显示的是java。

参考文章:


举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

满心

发帖: 102粉丝: 3

发消息 + 关注

发表于2021年02月24日 09:34:28
直达本楼层的链接
沙发
显示全部楼层

感谢分享

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200