当前位置: > > > Java - OpenJDK和JDK的区别详解

Java - OpenJDK和JDK的区别详解

    OpenJDKJDK 的开放原始码版本,以 GPL 协议的形式放出。在 JDK7 的时候,OpenJDK 已经成为 JDK7 的主干开发,SUN JDK7 是在 OpenJDK 的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用 JRLJavaResearch LicenseJava 研究授权协议)发布。

    关于 JDKOpenJDK 的区别,可以归纳为以下几点:

1,授权协议的不同

    OpenJDK 采用 GPL V2 协议放出,而 JDK 则采用 JRL 放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于 GPL V2 允许在商业上使用,而 JRL 只允许个人研究使用。

2,OpenJDK 不包含 Deployment(部署)功能

    部署的功能包括:Browser PluginJava Web Start、以及 Java 控制面板,这些功能在 OpenJDK 中是找不到的。

3,OpenJDK 源代码不完整

    由于 SUN JDK 的一部分源代码因为产权的问题无法开放 OpenJDK 使用,其中最主要的部份就是 JMX 中的可选元件 SNMP 部份的代码。因此这些不能开放的源代码将它作成 plug,以供 OpenJDK 编译时使用,你也可以选择不要使用 plug。而 Icedtea 则为这些不完整的部分开发了相同功能的源代码(OpenJDK6),促使 OpenJDK 更加完整。

4,部分源代码用开源代码替换

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

5,OpenJDK 只包含最精简的 JDK

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

6,不能使用 Java 商标

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