Sun jdk与Openjdk版本发展历史如下图所示:
1、 Openjdk的前身是Sun公司的JDK虚拟机,最初Java标准是由Sun公司制定的,他们也开发出了严格遵循Java标准的Java虚拟机JDK,在当时JDK源代码不是开放的,只是由Sun公司内部的开发者进行维护。当时比较流行的版本是JDK6和JDK7,他们在代码结构和风格上有较大的不同。随着开源成为软件发展的一个必然趋势,在广大开发者和爱好者的呼吁下, 2007年5月9日, Sun公司在GPL V2协议下,开放了JDK7的大部分代码,成立了Openjdk项目,该项目由Openjdk社区来维护,Openjdk社区从理论上来说是独立于Sun公司的。这样就形成了Openjdk的第一个版本——Openjdk7;
2、 Sun公司在成立Openjdk项目之后,原来的JDK6版本还继续维护,这样Openjdk7和JDK6并行发展。Openjdk7由JDK7代码开源而来,继承了JDK7的代码结构和风格,由Openjdk社区维护;JDK6由Sun公司内部维护。Sun公司JDK6的很多技术来自Openjdk社区,由于社区的Openjdk7与JDK6代码结构有差异,因此技术的迁移产生了很多障碍; JDK6属于非常流行的Java虚拟机版本,在重重因素的驱使下,Openjdk社区在Openjdk7发展到第22个发行版的时候,从该发行版建立了另外一个分支,也就是我们现在普遍使用的Openjdk6;
3、 Openjdk6使用了与Sun JDK6统一的代码结构,并兼容Java SE 6标准,因此Sun公司的内部维护与社区的技术也就实现了很方便的融合。这样,随着时间的推移,Openjdk6、Openjdk7和JDK6三个版本各自独立地发展着,也各自逐步完善起来,Openjdk6与Openjdk7开源,由Openjdk社区开发者维护,JDK6由Sun公司内部维护。其中Openjdk6继承了Openjdk7强大的功能、较高的效率以及JDK6优秀的代码风格,渐渐成为开源Java虚拟机的主流版本;
4、 Sun jdk中包含有部分第三方代码,这部分代码并没有开放,Sun只是以二进制插件的形式对开发者提供,因此Openjdk还有一部分代码是闭源的,这些代码以二进制插件的形式存在。这样,在Openjdk的基础上,逐渐成立了另外一个项目——IcedTea,IcedTea项目开放了全部的二进制插件,是全部开源的Java虚拟机版本。
兼容性
Openjdk6是sun jdk的开源版本,符合Java SE 6标准,因此与sun jdk6完全兼容。在内部实现上的类库有微小差别,用户使用上的API(应用程序接口)没有区别,因此两个平台间可以无缝迁移。使用到有差别类库的情况很少,并不能一概而论,需要在应用过程中分情况区别对待。
分享到:
相关推荐
openjdk不包含JMX中的可选元件SNMP部分的代码,而Icedtea则为这些不完整的部分开发了相同功能的源代码。 openjdk可以在商业上使用,而jdk只允许个人研究使用。 总的来说,openjdk是jdk的开源版本,两者在功能上略有...
从前面介绍的Java发展史中我们了解到OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。...
安装包:java-7-openjdk-amd64.tar.gz 使用方法 1. 拷贝至服务器/个人电脑...OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.12.04.3) OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)
OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386) OpenJDK Client VM (build 14.0-b16, mixed mode) # rpm -qa |grep gcj #查看服务器安装的jdk软件包信息 libgcj-4.4.4-13.el6.i686
linux如何卸载自带的openJdk,并且安装jdk1.8 2017年12月20日 09:26:49 Cyl2018 阅读数:868 [dupenghui@mini01 ~]$ java -version java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6...
JDK从7开始,诞生了自由使用的公共版本OpenJDK,而因产权问题OpenJDK功能不完整,而Icedtea则为这些不完整而创立的,长期以来一直是OpenJDK的一套补丁,IcedTea提供一大块内容是plugin/java-web-start基础架构
OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 2. 删除默认的安装的OpenJdk [root@localhost bin]# rpm -qa ...
ANTLR4 PDSv3 语法这是NASA PDSv3 ODL v2.1标签的... 我正在使用 Ubuntu 14.04 附带的 JDK: java version "1.7.0_65"OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1)OpenJDK 64-Bit Serve
下推 OO 污点流分析。 Ucombinator 维护了 fork。 原文来自 Shuying at 。 构建更改 现在使用 sbt 完成构建。... OpenJDK 运行时环境 (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1)。 Oracle
表现环境物品价值中央处理器酷睿 i7 3612QM 操作系统Ubuntu 14.04.01 LTS 64 位JDK/JRE OpenJDK 运行时环境(IcedTea6 1.13.5) JRE 参数-Xmx512m 测试配置物品价值语料库来自维基百科的 10,228 页不同的令牌计数1,...