[转帖] 部分收费的Oracle JDK VS 完全免费的OpenJDK
来源:
http://www.flammulina.com/2018/10/28/%E9%83%A8%E5%88%86%E6%94%B6%E8%B4%B9%E7%9A%84oracle-jdk-vs-%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%E7%9A%84openjdk/
本文将讨论Oracle JDK和OpenJDK之间的区别。注意目前 OpenJDK 和 Oracle JDK 仅由Oracle创建和维护。在详细介绍之前,让我们回顾一下JDK是什么,在开始对比Oracle JDK和OpenJDK之间的差异。
什么是JDK?
Java Development Kit(JDK)包含Java Runtime Environment(JRE)以及用于编译和调试用于开发Java应用程序的Java代码的工具。JRE由库,Java虚拟机(JVM),Java Pluging和Java Web Start组成,用于运行Java应用程序。JRE作为独立版本不包含编译器和调试工具。
Oracle JDK VS OpenJDK
- Oracle JDK部分版本收费 ,如果要获得商业Oracle JDK许可证,我们需要直接联系Oracle销售人员。
- OpenJDK是完全免费的,可以按照GPL v2许可证使用。
- Oracle JDK 之前被称为SUN JDK,这是在Oracle收购之前。早些时候,它是Java语言的官方专有实现。收购后,它被命名为Oracle JDK ,Oracle的团队维护着JDK。
- OpenJDK 是Java标准版平台的开源实现,由Oracle和开放Java社区提供。
- OpenJDK 是Java SE 7中Java Standard Edition的官方参考实现。
- OpenJDK 根据许可证GPL v2发布,其中Oracle JDK根据Oracle二进制代码许可协议获得许可。
- 实际上,Oracle JDK的构建过程是从OpenJDK源代码构建的。因此,Oracle JDK和OpenJDK之间没有重大的技术差异。
- 除基本代码外,Oracle JDK还包括Oracle Java插件和Java WebStart的实现。还包括第三方封闭源代码和开源组件。
- OpenJDK Font Renderer 和Oracle JDK Flight Recorder是Oracle JDK和OpenJDK之间显着的主要区别。
- Oracle JDK 的商业组件与可免费下载的Oracle JDK捆绑在一起,并且我们需要使用显式标志来运行它们。
- JRockit 是Oracle的JVM,从Java SE 7开始,HotSpot和JRockit合并为一个JVM。所以现在我们只有合并的HotSpot JVM可用。
- 有些情况下,人们声称他们在运行OpenJDK时遇到了问题,并且在切换到Oracle JDK时得到了解决。考虑到Oracle JDK从OpenJDK获取其来源这一事实很难证明。
- 主要的Linux发行版(如Ubuntu,Fedora和Red Hat Enterprise Linux)提供OpenJDK或其变体作为其默认的Java SE实现。
- OpenJDK 6是一个尝试与Oracle JDK 6兼容的后端。它取自OpenJDK 7 b20并删除了Java 7功能,使其与Java SE 6兼容。
- OpenJDK 8源代码托管在http://hg.openjdk.java.net/jdk8
- OpenJDK 8和OpenJDK 9的目标并没有从OpenJDK 7改变。它们看起来是一样的,即为Java Standard Edition提供开源参考实现。
- OpenJDK是Ubuntu使用的Java的默认版本,最容易安装,而Oracle Java 7/8是Oracle自己的Java 7/8版本。
发布时间
OpenJDK
OpenJDK将每6个月发布一次功能,只有在下一个功能发布时才会支持。它本质上是针对开发人员的连续发布流。
Oracle JDK
Oracle JDK的目标更多是针对重视稳定性的企业用户。它基于OpenJDK的一个版本,但随后获得了长期支持(LTS)。Oracle JDK每3年发布一次。
发展历程
OpenJDK
2008年5月,Fedora 9及Ubuntu 8.04于发行版中发布OpenJDK,完整地基于自由及开放源代码的OpenJDK。
2008年6月,IcedTea 6(Fedora 9上的一个包版本的OpenJDK)宣布已通过Technology Compatibility Kit测试,可以称得上是一个完全兼容的Java 6的运行环境。
2008年7月12日,Debian接受了OpenJDK-6的不稳定版本,但目前情况已经稳定。OpenJDK也可以在openSUSE、Red Hat Enterprise Linux及其派生系统,如CentOS中找到。
2008年7月,OpenJDK 7可以运行在Mac OS X和其他的BSD发行版。
2009年7月,Ubuntu 9.04中的二进制版本OpenJDK在Java SE 6 JCK中通过了所有的兼容性测试。
2016年8月22日,Google在Android 7.0 Nougat中,将专利的JDK替换成开源方案的OpenJDK,以彻底解决Java的专利问题。
Oracle JDK
Java EE,Java平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为Jakarta EE。是Sun公司为企业级应用推出的标准平台。Java平台共分为三个主要版本Java EE、Java SE和Java ME。
Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2 Platform,即“Java2平台”,修改后的JDK称为Java 2 Platform Software Developing Kit,即J2SDK。并分为标准版(Standard Edition,J2SE),企业版(Enterprise Edition,J2EE),微型版(MicroEdition,J2ME)。J2EE便由此诞生。
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。
随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。现如今,J2EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想。
转载于:https://www.cnblogs.com/jinanxiaolaohu/p/9867970.html
[转帖] 部分收费的Oracle JDK VS 完全免费的OpenJDK相关推荐
- suse卸载自带java_在openSUSE 13.1下安装卸载openjdk以及Oracle JDK
平时工作用机是openSUSE 13.1.之前作死换成Oracle JDK以后,intellj的界面变得不能看了,不想调试了于是卸载了Oracle JDK,重新安装了openjdk. [Oracle ...
- JVM,JDK,JRE和OpenJDK有什么区别?
本文翻译自:What is the difference between JVM, JDK, JRE & OpenJDK? What is the difference between JVM ...
- OpenJDK能替代Oracle JDK 吗
Oracle 要对JAVA收费了,许多人说可以用 OpenJDK替代,但这会对应用有影响吗? OpenJDK 项目主要基于 Sun 捐赠的 HotSpot 源代码.此外,OpenJDK 被选为 Jav ...
- Java 11 将至,除了 Oracle JDK 还有这些版本!
Java 11 计划于本月,即 9 月 25 日发布.与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现.新的长期支持版本每三年发布一次,根据后续的发布计 ...
- Java 11 将至,不妨了解一下 Oracle JDK 之外的版本
开发四年只会写业务代码,分布式高并发都不会还做程序员? Java 11 计划于本月,即 9 月 25 日发布.与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台 ...
- Java常见面试题:Oracle JDK 和 OpenJDK 的区别?
Oracle JDK 和 OpenJDK 的区别? 可能在看这个问题之前很多人和我一样并没有接触和使用过 OpenJDK.那么Oracle和OpenJDK之间是否存在重大差异?下面我通过收集到的一些资 ...
- java/javaw/javaws与openjdk oracle jdk
昨天服务器坏了,就用IPMI一个服务管理的一个BS架构的东西尝试去登录后台.然而KVM工作,点开后只看到下载了一个kvm.lp的文件. 通过查资料,.lp跟.jnlp应该是一回事,其实是一个文本文件. ...
- Oracle JDK高版本商用付费分析
结论:JDK 8分情况 8u211和之后的版本商用需付费,JDK 9/10 免费 JDK 11及以上所有版本商用需付费 免费建议:JDK 8 使用8u202 版本,JDK8以上版本使用OpenJDK或 ...
- AdoptOpenJDK代替Oracle JDK使用说明
众所周知Oracle JDK商业使用开始收费了,然而Oracle在http://jdk.java.net/放出的官方版OpenJDK有下面几点问题: 1.没有32位 2.没有安装程序(初学者会遇到困难 ...
最新文章
- 【CV】Pytorch一小时教程添加损失函数图像可视化训练过程
- Java字符串String比较不要用==原因
- WCF 客户端代理生成 通过SvcUtil.exe
- matlab语言中的assert断言函数
- 解决magento保存产品时耗时很长的问题
- jenkins自动部署--定时轮询svn代码更新并自动发布至测试环境
- Kafka源码分析-序列3 -Producer -Java NIO(Reactor VS Peactor)
- WIN32 串口发送数据
- 基于JAVA+SpringMVC+Mybatis+MYSQL的外卖送餐网
- 5.docker 命令
- 整体二分初识--POJ2104:K-th Number
- hdu 4005 The war
- php tcpdf中文手册,TCPDF:用于生成PDF文档的开源PHP类
- [高效Mac] 多显示器快速切换鼠标焦点和移动窗口
- Android——ViewHolder的作用与用法
- 实现原理 扫描枪_条码扫描枪的原理
- 精华 | 网络故障排除命令汇总【网工必须收藏】
- 学习blus老师js(1)--基础
- 多版本谷歌chrome浏览器并存(谷歌浏览器从C盘移植)
- 百度虚拟服务器上传,百度云虚拟主机好用吗?事实告诉你很坑