1.openjdkåoracle jdkçåºå«
2.Oracle JDK 和 OpenJDK 有什么区别?
3.OpenJDK和OracleJDK的区别
4.Oracle JDK 开源许可
openjdkåoracle jdkçåºå«
openjdkéç¨GPL V2åè®®ï¼oracle jdkéç¨JRLåè®®ã两è åè®®é½æ¯å¼æ¾æºä»£ç çï¼ä½æ¯å¨ä½¿ç¨ä¸çä¸åå¨äºGPL V2å 许å¨åä¸ä¸ä½¿ç¨ï¼èJRLåªå 许个人ç 究使ç¨
å 为åè®®ä¸å, æ以 openjdk æ¯ä¸å®æ´ç, é¨åæ©æçæºç å 为çæå½å±äº sun, è sun å被 oracle æ¶è´äº, æ以è¿é¨åçæºç å¨ openjdk ä¸è¢«å¼æºçå ¶ä»å®ç°ç»æ¿æ¢æäº
Oracle JDK 和 OpenJDK 有什么区别?
OpenJDK和Oracle JDK是Java开发工具包(JDK)的两个版本,它们之间存在一些关键区别。首先,OpenJDK是一个开源项目,源自Sun Microsystems在年将Java源代码开源。OpenJDK的王者纷争源码源码是可复用的,如IcedTea和UltraViolet等发行版就是基于OpenJDK源码衍生的。
另一方面,Oracle JDK采用了商业实现,它在开源的FreeType基础上使用。虽然两者在共有的组件基础上类似,Oracle JDK包含了一些OpenJDK中没有的、商业封闭的功能。例如,从JRockit移植而来的Java Flight Recorder以及JRockit的MissionControl在HotSpot之后也将作为Oracle JDK的专有、封闭特性提供。
在技术层面上,Oracle的项目发布经理Joe Darcy在OSCON 上指出,OpenJDK 7和Oracle JDK 7在程序上非常接近,两者共享大量相同的代码。编译的商品溯源码申请OpenJDK在性能、功能和执行逻辑上与官方Oracle JDK一致。
在大多数Linux发行版本中,内置或通过软件源安装的JDK通常为OpenJDK。简而言之,OpenJDK是JDK的开源版本,采用GPL V2协议发布,而Oracle JDK采用JRL协议发布。两者的区别在于授权协议的不同、包含的软件包数量、源代码完整性、okhttp源码分析视频无法访问的部分源代码的处理方式以及是否可以使用Java商标。
除了原生的OpenJDK,还有IcedTea项目,它是为了填补OpenJDK中由于产权问题而造成的缺失部分而创立的。IcedTea提供了一套完整的开源工具链及代码库,特别是针对Java Web Start基础架构,它在构建OpenJDK时提供了多种不同的模式,如使用Zero Assembler Port在非x/sparc芯片上支持编译。
此外,Oracle JDK可能包含了被替换成功能相同的湖州红十源码开源代码的部分源代码,例如字体栅格化引擎使用了Free Type代替。然而,使用OpenJDK的机器上,“java -version”显示的通常会是OpenJDK,而不是Oracle JDK,除非通过IcedTea补丁。
总结而言,OpenJDK和Oracle JDK之间的主要区别在于开源许可、包含的功能集、源代码可用性以及商标使用权限。pip 安装源码包选择哪个版本取决于开发者或组织的特定需求、项目许可条件和兼容性考量。
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的管理权利和维护职责。
Oracle JDK 开源许可
Oracle JDK的开源许可政策有一些重要变化。从JDK 开始,Oracle JDK重新采用GPLv2+CPE协议,这与Open JDK的许可保持一致,表明Oracle对开源社区的开放态度有所增强。
在JDK 8u到的版本区间内,Oracle JDK的使用受到限制,仅Oracle客户可以通过My Oracle Support和Oracle技术网的Java SE许可协议进行个人、开发或非商业用途。然而,这些版本用于生产环境是需要获得授权许可的,这一点值得注意。