1.【Java技术专题】带你认识下Open JDK和Oracle/Sun JDK的源码关系「原理篇」
2.openjdk和oraclejdk有什么区别吗
3.openjdk和sunjdk有啥区别?
4.OpenJDK和OracleJDK的区别
【Java技术专题】带你认识下Open JDK和Oracle/Sun JDK的关系「原理篇」
本文将探讨Open JDK与Oracle/Sun JDK之间的关系,它们之间的源码差异主要体现在授权协议、功能完整性和商业支持上。源码
OpenJDK,源码源于Sun在年的源码开源举措,是源码enummap源码JDK的开源版本,采用GPL V2协议,源码强调源代码的源码可复用性。Oracle JDK则作为商业实现,源码包含一些OpenJDK中没有的源码闭源功能,例如JRockit的源码Flight Recorder。在JDK7版本中,源码两者代码基础相似,源码性能和功能基本一致。源码黑马先知主图源码
Oracle JDK采用SCSL协议,源码允许商业使用,而OpenJDK的GPL协议限制了在商业环境中的应用。OpenJDK只包含精简的JDK组件,不包含如Rhino、Java DB等扩展,用户可自由添加。部分源代码因产权问题未能完全开源,如SNMP相关代码,IcedTea为此提供了替代方案。
OpenJDK不包含Deployment功能,如浏览器插件和Java Web Start,而IcedTea项目最初是50指标源码为了补全OpenJDK的缺失部分。从代码完整性和商业支持的角度来看,Oracle JDK在OpenJDK的基础上添加了价值增值,但这些增值功能可能在实际使用中并不常用。
总的来说,OpenJDK和Oracle JDK在技术上高度相关,但商业支持和功能完整性有所不同。OpenJDK作为开源项目,更倾向于提供核心Java实现,而Oracle JDK则在基础上增加了商业特性。对于开发者来说,选择哪种取决于具体需求和使用环境。
openjdk和oraclejdk有什么区别吗
OpenJDK与Oracle JDK的主要区别体现在以下几个方面:
首先,它们的asp响应式日记源码授权协议存在差异:OpenJDK基于GPL V2协议,这意味着它的源代码是开放的,允许在商业环境中使用,但有一定的限制;而Oracle JDK采用的是JRL协议,主要适用于个人研究,商业使用方面可能会有限制。
其次,功能完备性有所区别:OpenJDK并不包含完整的Deployment功能,如浏览器插件、Java Web Start和Java控制面板,这些在Oracle JDK中是标配,但在OpenJDK中是不可用的。
源代码完整性方面,OpenJDK由于使用了GPL协议,抢单网站源码下载部分SUN JDK的源代码由于产权问题未能被完全开源,特别是JMX中的SNMP部分。这导致OpenJDK的源代码库相较于Oracle JDK并非完整无缺。
最后,部分源代码的替代策略:由于产权原因,Oracle JDK中的一些非SUN产权的代码被替换成了开源解决方案,例如字体渲染引擎就使用了Free Type替代,这影响了OpenJDK与Oracle JDK在细节上的差异。
openjdk和sunjdk有啥区别?
了解
使用Linux系统的人通常会遇到内置或通过软件源安装的JDK是OpenJDK的情况。那么,OpenJDK是什么?它与SUN JDK有什么区别?历史背景是,OpenJDK是JDK的开源版本,以GPL协议(通用公共许可证)形式发布。在JDK7时期,OpenJDK作为其主要开发版本,而SUN JDK7是在OpenJDK7基础上发布的,两者在大部分代码上相同,仅在少量代码上有所替换。SUN JDK则采用JRL(Java研究授权协议)发布。
授权协议的不同是关键点。OpenJDK遵循GPL V2,允许商业使用,而SUN JDK则为个人研究使用。OpenJDK不包含部署功能,如浏览器插件、Java Web Start和Java控制面板。此外,OpenJDK的源代码存在不完整性,因为某些代码由于版权问题无法开放。这部分代码通常被替换为功能类似的开源代码,比如字体栅格化引擎使用Free Type代替。OpenJDK更精简,仅包含基础JDK,不包括其他软件包,如Rhino、Java DB、JAXP等。在OpenJDK中,无法使用Java商标。
总的来说,OpenJDK和SUN JDK之间主要区别在于授权协议、功能完整性、源代码的可用性和商标使用。希望未来Oracle能够更开放地参与JCP(Java社区过程),实现Java生态系统的自由发展。
OpenJDK和OracleJDK的区别
OpenJDK的起源
年月日,JavaOne大会上,Sun公司宣布将Java开源。
随后一年多时间里,Sun公司陆续将JDK各个部分以GPL v2协议公开源码,并建立了OpenJDK组织进行独立管理。
除了少量产权代码外,OpenJDK几乎拥有当时SunJDK的全部代码。
可以说,在JDK7时代,SunJDK和OpenJDK几乎相同。
那么,Oracle收购Sun后,OracleJDK与OpenJDK有何不同?
授权协议的差异
OpenJDK采用GPL V2协议授权,而OracleJDK则采用JRL。
虽然两者都是开放源代码协议,但在使用上有所不同。
GPL V2允许在商业上使用,而JRL只允许个人研究使用,且不能使用Java商标。
Oracle收购Sun后,Java商标归Oracle所有,因此OpenJDK不能使用Java商标。
JDK版本不断发布,Oracle没有维护OpenJDK。
此时,RedHat从Oracle手中接过OpenJDK的管理权利和维护职责。