转自:

  http://blog.chinaunix.net/uid-20648944-id-3204527.html

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(应用程序接口)没有区别,因此两个平台间可以无缝迁移。使用到有差别类库的情况很 少,并不能一概而论,需要在应用过程中分情况区别对待。

转自:

  http://blog.chinaunix.net/uid-20648944-id-3204527.html

转载于:https://www.cnblogs.com/drizzlewithwind/p/4868664.html

Sun jdk, Openjdk, Icedtea jdk关系相关推荐

  1. openJDK与JDK的区别

    使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的 ...

  2. OpenJDK与JDK的区别分析

    一.以下是具体分析: 以下内容转自http://fgh2011.iteye.com/blog/1771649: 使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JD ...

  3. openjdk和jdk的区别与联系

    使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的 ...

  4. OpenJDK和JDK区别

    OpenJDK和JDK区别 OpenJDK与JDK的区别分析 Sun的JDK7.OpenJDK及IcedTea释疑 简介(ps): 简单来说jdk从7开始,弄出一个可以自由使用的公共版本(openjd ...

  5. JDK与JRE的关系和path的作用浅谈

    JDK与JRE的关系和path的作用浅谈 摘要:JDK与JRE的关系以及path的配置对于初学者是要明白的问题,那么具体的JDK与JRE的关系是什么呢?那么本文讲给你简单介绍. 标签:JDK与JRE关 ...

  6. jdk jre jvm的关系

    http://blog.csdn.net/gaopeng0071/article/details/9914683 JDK : Java Development ToolKit(Java开发工具包).J ...

  7. oracle JDK 和 open jdk 的关系与区别 ?

    背景介绍 OpenJDK 比 Oracle JDK 早出现一些.OpenJDK 是在 2006 年由 Sun Microsystems 发起的一个开源 Java SE 平台实现项目.它是为了响应开源社 ...

  8. day01--java基础编程:计算机基础知识 ,java语言概述,java开发环境搭建,eclipse概述,创建简单java项目,JDK JRE JVM的关系,java开发中的命名规范,编程风格

    1 Day01–Java开发环境+HelloWorld 1.1 计算机基础知识 资料下载网址:刘沛霞 18600949004 code.tarena.com.cn tarenacode code_20 ...

  9. 两分钟搞懂 JDK 与 JRE 的关系!

    作者:MobMsg,资深全端工程师一枚,架构师社区合伙人! JDK 与 JRE 的关系用一张图就可以诠释的非常清楚,把这张图深深记进脑子里,目标就达成50%了 若您有遇到其它相关问题,非常欢迎在评论中 ...

  10. IBM JDK,SUN JDK,BEA JDK区别在哪里?

    这是java.sun.com网站上的一张关于JDK构成的图片说明.其中每一个方框(例如AWT,String,IDL,JDBC...)表示JDK的一个"技术领域". 不知道SUN J ...

最新文章

  1. Java项目:智能制造生产管理平台(java+SSM+mysql+Maven+Easyui+JSP)
  2. Tensorflow2.0与Tensorflow1.x不兼容问题
  3. SVN提交时强制用户写日志
  4. php面试专题---2、常量及数据类型考点
  5. 教师计算机校本培训记录,信息技术教师个人校本培训总结
  6. sqlserver建表语句_重新认识MySQL中的COUNT语句
  7. 微课--Python正则表达式语法与应用(83分钟)
  8. MySQL数据库的红黑树优化_为什么Mysql用B+树做索引而不用B-树或红黑树
  9. 2011年Esri用户大会技术亮点总结之一:概览
  10. 微型计算机键盘ins代表,微型计算机技术69124.ppt
  11. 抖音上热门的小技巧,不看后悔
  12. 罗马音平假名中文可复制_这首歌,代表了我们的青春,你会唱吗(附op罗马音中文音译)...
  13. C#实现程序一次打开两个窗口,两个窗口分别放置在两个屏幕
  14. docker-compose部署单机版nacos(自定义数据库)
  15. 多系统下的蓝牙设备共用配对问题之LTK、EDIV、ERAND.以 Manjaro、Debian、Windows10 为例
  16. RK3288原理图和PCB,RK3288核心板硬件设计资料汇总
  17. 用计算机弹出生僻字的歌,抖音生僻字是什么歌?抖音生僻字歌词注音完整版
  18. 离线地图二次开发(支持所有地图源)
  19. AIX7.1 安装配置 EMC CLARiiON 存储驱动软件
  20. 使用深度学习检测DGA(demo、初探)

热门文章

  1. O-RAN专题系列-41:管理面-WG4.MP.V07-规范解读-第8章-故障管理FM
  2. 华为手机的拨号键有大用处,不仅能用来打电话,还有4个隐藏功能
  3. 打开 .mpp文件的一种方法
  4. vue baidu-map百度地图自定义换肤、去掉百度地图logo
  5. 全面解读流程图|附共享单车摩拜ofo案例分析
  6. 中国余数定理解题步骤
  7. [乐意黎]2016中级会计师考试《财务管理》真题及答案-第一批(9.10-9.11)
  8. (实测有用)登录Github显示“您的连接不是专用连接”和”GitHub.com拒绝了我们的连接请求“解决办法!!!
  9. MySQL实验7存储过程_mySQL 教程 第7章 存储过程和函数
  10. 8月24日科技联播:特斯拉回应苹果“疯狂挖人”,对方比我们有钱100倍