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协议发布。两者的区别在于授权协议的不同、包含的软件包数量、源代码完整性、大佬导航源码无法访问的部分源代码的处理方式以及是否可以使用Java商标。
除了原生的OpenJDK,还有IcedTea项目,它是为了填补OpenJDK中由于产权问题而造成的缺失部分而创立的。IcedTea提供了一套完整的开源工具链及代码库,特别是针对Java Web Start基础架构,它在构建OpenJDK时提供了多种不同的模式,如使用Zero Assembler Port在非x/sparc芯片上支持编译。
此外,Oracle JDK可能包含了被替换成功能相同的181源码论坛开源代码的部分源代码,例如字体栅格化引擎使用了Free Type代替。然而,使用OpenJDK的机器上,“java -version”显示的通常会是OpenJDK,而不是Oracle JDK,除非通过IcedTea补丁。
总结而言,OpenJDK和Oracle JDK之间的主要区别在于开源许可、包含的功能集、源代码可用性以及商标使用权限。学生座位源码选择哪个版本取决于开发者或组织的特定需求、项目许可条件和兼容性考量。
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许可协议进行个人、开发或非商业用途。然而,这些版本用于生产环境是需要获得授权许可的,这一点值得注意。