购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 Open JDK和Oracle JDK的关系

上述内容主要讲述了Open JDK和Oracle JDK的相关内容,接下来主要介绍Open JDK和Oracle JDK的关系,主要包括两者之间的联系和区别。

2.3.1 Open JDK和Oracle JDK的联系

Open JDK 7与Oracle JDK 7在程序上是十分相似的。在OSCON 2011大会上,Oracle公司的项目开发总监Joe Darcy就二者的合作关系也进行了相关的阐述,并证实它们曾共用过大量相同的代码。基本上可认为我们所编译的Open JDK,在性能、功能及运行逻辑上均与官方的Oracle JDK是相同的。

从虚拟机角度而言,Oracle JDK与Open JDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。HotSpot VM只有非常少量的功能没有在Open JDK里,而那部分在Oracle内部的代码库里。这些私有部分都不涉及JVM的核心功能。所以说,Oracle/Sun JDK与Open JDK其实使用的是同一个代码库。

2.3.2 Open JDK和Oracle JDK的区别

总体而言,Open JDK是开源的,而Oracle JDK是官方商业化的。除此之外Open JDK和Oracle JDK主要有以下几点区别。

授权协议方式不同。Open JDK通过GPL或V2协议推出,而Oracle JDK则通过JRL推出。它们尽管都是公开源代码的,不过在实际应用上最大的差别就是GPL V2可以在商业上应用,而JRL只可以用于个人研究。

Open JDK中并不包括它的Deployment(部署)控制功能。根据需要部署的功能可以分为Browser Plugin、Java Web Start及Java控制面板,这些控制功能在Open JDK中几乎是根本查不到的。

Open JDK源代码并不完整:对使用GPL协议的Open JDK而言,Oracle JDK中的大部分源代码都由于知识产权的问题而不能公开给予Open JDK使用,当中最为主要的部分便是JMX中的可选元件SNMP部分的代码等。

Open JDK只包括最精简的JDK。Open JDK同时也包括了其他的套装软体,例如Rhino Java DB JAXP等。另外可以分离的套装软体也均是尽可能分离,不过这大部分均为自由软件,读者也可自行下载或加入。

字体源码不同。Open JDK的大部分字体源代码都可以使用开放字体源代码进行替换,因为知识产权的保护问题,一些与产权不同的Oracle字体源代码被替换成了许多字体功能相似的中文开放字体源代码,比如,中文字体设计栅格化替换引擎等,用于对freetype进行替换。 fzO0d4eRxjElFSRL5Sc1LDTQ8q2rKALovUD6bcve/PDt83mw0EtbtAiqeOvk2KQS

点击中间区域
呼出菜单
上一章
目录
下一章
×