网站首页 > 技术文章 正文
OpenJDK是Sun在2006年末把Java开源而产生的项目,这儿的“开源”是一般意义上的源码开放形式,即源码是可被复用的,比如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。
OracleJDK选用了商业实现,而OpenJDK使用的是开源的FreeType。
当然,“相同”是建立在二者共有的组件基础上的,OracleJDK中还会存在某些OpenJDK没有的、商用闭源的功能。
比如从JRockit移植改造而来的JavaFlightRecorder,预计以后JRockit的MissionControl移植到HotSpot以后,也会以OracleJDK特有、闭源的形式提供。
Oracle的项目发布经理JoeDarcy在OSCON2011上对二者关系的详细介绍也确认了OpenJDK7和OracleJDK7在程序上是非常贴近的,二者共用了大量相同的代码.。
如下图,特别注意图中提示了二者相同代码的占比要远高于图形上看到的比例,所以我们编译的OpenJDK,通常可以认为性能、功能和执行逻辑上都和官方的OracleJDK是一致的。
在大多数Linux发行版本里,内置或者通过软件源安装的JDK,都是安装的OpenJDK。
到底什么是OpenJDK?
历史上的原因是,OpenJDK是JDK的开放源码版本,以GPL协议的形式发布。
开源协议参考:软件开发中的开源协议详解
在JDK7的时候,OpenJDK已经成为JDK7的主干开发版,SUNJDK7是在OpenJDK7的基础上发布的,其大多数源码都相同,只有少部分源码被替换掉。使用JRL(JavaResearchLicense,Java研究授权协议)发布。
至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是JDK7的一个分支,并且尽量去除JavaSE7的新特性,使其尽量的符合Java6的标准。
JDK和OpenJDK的区别
1.授权协议的不同
OpenJDK选用GPLV2协议发布,而JDK则选用JRL协议发布。两个协议虽然都是开放源代码的,但是在使用上的不同在于GPLV2允许在商业上使用,而JRL只允许个人研究使用。
2.OpenJDK只包含最精简的JDK
OpenJDK不包含其他的软件包
小编分类整理了许多java进阶学习材料和BAT面试题,需要资料的请转发此文章后再私聊小编回复【java】就能领取2019年java进阶学习资料和BAT面试题以及《Effective Java》(第3版)电子版书籍。
猜你喜欢
- 2024-11-04 kubernetes-16:制作oraclejdk镜像
- 2024-11-04 JDK9~11版本和相关特性,建议收藏使用
- 2024-11-04 JAVA零基础入门:JDK的概述及安装 java jdk的安装
- 2024-11-04 5张图讲明白JDK1.7下的HashMap死循环(原理+实战
- 2024-11-04 JDK安装 jdk安装路径查看
- 2024-11-04 定制化JDK升级引发的离奇事件 jvm定制
- 2024-11-04 腾讯牛逼!终于开源了自家的 JDK——Kona
- 2024-11-04 三、JDK下载与安装指南 jdk下载安装配置步骤
- 2024-11-04 下个月,java要开启收费模式了,你怕了吗?
- 2024-11-04 Java 19 正式版发布 idea java 打包发布
你 发表评论:
欢迎- 621℃几个Oracle空值处理函数 oracle处理null值的函数
- 613℃Oracle分析函数之Lag和Lead()使用
- 602℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 598℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 594℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 586℃【数据统计分析】详解Oracle分组函数之CUBE
- 575℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 563℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)