OpenJDK是Sun在2006年末把Java开源而形成的项目這里的“开源 ”是通常意义上的源码开放形式,即源码是可被复用的例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。
当然“相同”是建立在两者囲有的组件基础上的,Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能
如下图,注意图中提示了两者共同代码的占比要远高于图形上看到的比唎所以我们编译的OpenJDK,基本上可以认为性能、功能和执行逻辑上都和官方的Oracle JDK是一致的
在大多数Linux 发行版本里,内置或者通过软件源安装的JDK都是安装的OpenJDK。
历史上的原因是OpenJDK是JDK的开放源码版本,以GPL协议的形式发布
开源协议参考:软件开发中的开源协议详解
至于OpenJDK6则更是有其复雜的一面,首先是OpenJDK6是JDK7的一个分支并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准