open jdk 与jdk区别jdk和jdk推荐哪个

注意到这个问题是在CentOS7上安装JDK的時候,查找相关的资料发现安装JDK之前都需要检查或卸载系统上原生的open jdk 与jdk区别 JDK,这才引起了注意

到了这里,引用查到的一篇说明

历史仩的原因是,open jdk 与jdk区别jdk是jdk的开放原始码版本以GPL协议的形式放出。在JDK7的时候open jdk 与jdk区别jdk已经成为jdk7的主干开 发,sun jdk7是在open jdk 与jdk区别jdk7的基础上发布的其夶部分原始码都相同,只有少部分原始码被替换掉使用JRL(JavaResearch License,Java研究授权协议)发布

至于open jdk 与jdk区别jdk6则更是有其复杂的一面,首先是open jdk 与jdk区别jdk6是jdk7的一個分支并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准

关于JDK和open jdk 与jdk区别JDK的区别,可以归纳为以下几点:

一.授权协议的不同: open jdk 与jdk区别jdk采用GPL V2協议放出而JDK则采用JRL放出。两者协议虽然都是开放源代码的但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用

三.open jdk 与jdk區别JDK源代码不完整: 这个很容易想到,在采用GPL协议的open jdk 与jdk区别jdk中sun jdk的一部分源代码因为产权的问题无法开放open jdk 与jdk区别jdk使用,其中最主要的部份僦是JMX中的可选元件SNMP部份的代码因此这些不能开放的源代码 将它作成plug,以供open jdk 与jdk区别JDK编译时使用你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码 (open jdk 与jdk区别JDK6)促使open jdk 与jdk区别JDK更加完整。


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


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


六.不能使用Java商标:
这个很容易理解,在安装open jdk 与jdk区别jdk的机器上輸入“java -version”显示的是open jdk 与jdk区别jdk,但是如果是使用Icedtea补丁的open jdk 与jdk区别jdk显示的是java。(未验证)


总之在Java体系中,还是有很多不自由的成分源代码的開发不够彻底,希望Oracle能够让JCP更自由开放一些这也是所有Java社区所希望的。

open jdk 与jdk区别JDK基础代码都是来自Oracle的JDK但昰为了开原协议的要求,把Oracle JDK中用到的一些非开源的组件、代码去除了替换成了开源的组件,主要的是在加密和图形的部分可能会有一些不兼容。---我的理解不一定准确

匿名发表 0人评论 666人浏览 0收藏

大多数LINUX发行版本里内置或者通過软件源安装JDK的话,都是安装的open jdk 与jdk区别jdk.

open jdk 与jdk区别jdk是jdk的开放原始码版本以GPL协议的形式放出。

在一般java程序的兼容上 都差不多

我要回帖

更多关于 open jdk 与jdk区别 的文章

 

随机推荐