Oracle jdk vs Open jdk
java - What is the difference between JVM, JDK, JRE & OpenJDK? - Stack Overflow
https://blogs.oracle.com/java/post/oracle-jdk-releases-for-java-11-and-later
oracle jdk开始是基于open jdk7进行构建的
区别
java - Differences between Oracle JDK and OpenJDK - Stack Overflow
1. 发布时间表
Oracle 将每三年发布一次,而OpenJDK 每六个月发布一次。
Oracle 为其版本提供长期支持(bug fix)。另一方面,OpenJDK 仅支持对一个版本的更改,直到下一个版本发布。
2. 许可证
Oracle JDK 是根据 Oracle 二进制代码许可协议获得许可的,而OpenJDK 具有 GNU 通用公共许可证 (GNU GPL) 第 2 版
使用 Oracle 平台时存在一些许可问题。正如 Oracle宣布的那样,如果没有商业许可,2019 年 1 月之后发布的 Oracle Java SE 8 的公共更新将无法用于商业、商业或生产用途。
OpenJDK 是完全开源的,可以自由使用。
3. 表现
两者之间没有真正的技术差异,因为 Oracle JDK 的构建过程基于 OpenJDK 的构建过程。
在性能方面,Oracle 的响应能力和 JVM 性能要好得多。由于它对企业客户的重要性,它更加关注稳定性。
相比之下,OpenJDK 更频繁地发布版本。相对不够稳定。
4. 特征
Oracle 产品具有 Flight Recorder、Java Mission Control 和 Application Class-Data Sharing 特性,而OpenJDK 具有字体渲染器特性。
Oracle 有更多的垃圾收集选项和更好的渲染器。
5. 发展与普及
Oracle JDK 完全由 Oracle Corporation 开发,而OpenJDK 由 Oracle、OpenJDK 和 Java Community 开发。但是,Red Hat、Azul Systems、IBM、Apple Inc. 和 SAP AG 等一流公司也积极参与了它的开发。
主要的 Linux 发行版(Fedora、Ubuntu、Red Hat Enterprise Linux)都是提供 OpenJDK 作为默认的 Java SE 实现。
自 Java 11 以来的变化
从 Java 11 开始有一些重要的变化。
传统的“商业功能”,例如 Flight Recorder、Java Mission Control 和 Application Class-Data Sharing,以及 Z Garbage Collector,现在都可以在 OpenJDK 中使用。
因此,从 Java 11 开始,Oracle JDK 和 OpenJDK 构建基本相同。
让我们看看主要的区别:
- Oracle 的 Java 11 工具包在使用-XX:+UnlockCommercialFeatures选项时会发出警告,而在 OpenJDK 构建中,此选项会导致错误
- Oracle JDK 提供了一种配置来向“高级管理控制台”工具提供使用日志数据
- Oracle 一直要求第三方加密提供者必须由已知证书签名,而 OpenJDK 中的加密框架具有开放的加密接口,这意味着可以使用哪些提供者没有限制
- Oracle JDK 11 将继续包括安装程序、品牌和 JRE 打包,而 OpenJDK 构建目前以zip和tar.gz文件的形式提供
- 由于Oracle 版本中存在一些附加模块,javac –release命令对 Java 9 和 Java 10 目标的行为不同
- java –version和java -fullversion命令的输出将 Oracle 的构建与 OpenJDK 的构建区分开来
Oracle JDK 和 OpenJDK 如何保持同步?
对于如此庞大的代码库,它绝对应该是一个复杂的过程。所有开发和错误修复都在 OpenJDK 中进行,然后传播到 Oracle JDK。与一般修复不同,安全修复发生在没有公共代码审查的私有林中,然后它们被推送到 Oracle JDK,然后被推送到 OpenJDK。
正如 StackExchange 中 JClarity 的 Martijn Verburg 所引用的那样,“一些供应商也选择不将他们的更改推回 OpenJDK。例如,谷歌和 Twitter 都修改了他们内部使用的 OpenJDK 版本,其中包含错误修复和尚未回到主要 OpenJDK 项目的功能。”
Oracle jdk vs Open jdk相关推荐
- linux上传oracle压缩包,Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题...
http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-lin ...
- Oracle免登录下载JDK(实测有效)
如何下载jdk 如何免登录下载JDK STEP 1:打开Oracle官网下载 STEP 2:选择自己所需的对应版本 STEP 3:点击下载 小白特供(本人思考过程) 暴躁老哥直达版 如何免登录下载JD ...
- 【问题解决】关于Oracle官网下载JDK需要登录Oracle账户问题
问题描述 当我们在Oracle官网上下载JDK时,(JDK下载地址)系统会提示需要登录Oracle账户.对于没有Oracle账户的人来说,注册账户太繁琐. 问题解决 此处推荐一个神奇的网站,里面提供部 ...
- Oracle官网所有JDK及JRE历史版本下载地址
Oracle官网所有JDK及JRE历史版本下载地址 访问 https://www.oracle.com/java/technologies/javase/javase8-archive-downloa ...
- JDK 7和JDK 8中大行读取速度较慢的原因
我之前发布了博客文章"使用JDK 7和JDK 8读取慢速行",并且在该问题上有一些有用的评论来描述该问题. 这篇文章提供了更多解释,说明为何该文章中演示的文件读取(并由Ant的Li ...
- 如何安装JDK 15(其他JDK同样适用)
JDK 15 安装教程 作者:龙龙 安装环境:Windows 10 专业版 X64 版本:2002 1.我们打开百度,搜索Java,进入Oracle官网: 找到Java SE 15,找到Oracle ...
- 什么是JDK?Java JDK 下载,安装与环境变量配置注意点。使用记事本编写运行环境配置后的第一个Java程序
万事开头难.在了解什么是 Java.Java 语言的特点以及学习方法之后,本节将介绍如何搭建编写 Java 程序所需要的开发环境--JDK(Java Development Kit). JDK 是一种 ...
- The substring() Method in JDK 6 and JDK 7
2019独角兽企业重金招聘Python工程师标准>>> 1. What substring() does? The substring(int beginIndex, int end ...
- 在JDK 6和JDK 7的substring()方法的区别?
原文链接:https://www.programcreek.com/2013/09/the-substring-method-in-jdk-6-and-jdk-7/ 在JDK 6和JDK 7中subs ...
- The substring() Method in JDK 6 and JDK 7 (jdk6中的substring()会造成内存泄漏)
参考:http://www.programcreek.com/2013/09/the-substring-method-in-jdk-6-and-jdk-7/ The substring(int be ...
最新文章
- dva 中使用绝对路径/别名的方法
- 浅谈RxJava与2.0的新特性
- 【LeetCode】198.打家劫舍
- 【干货合辑】+你有什么独家数据库优化技巧?
- tensorflow tf.train.Saver.restore() (用于下次训练时恢复模型)
- Spring事务的隔离级别
- surging+EFCore 服务实现入门
- HihoCoder - Floyd算法
- CCNA学习指南第六章
- docker搭建MySQL集群
- 让手机可以边打电话边上网
- 如何在word 里插入代码?
- Barrett And Montgomery of Polynomials
- 基于matlab的语音采集及处理
- asp站点服务器,ASP网站搭建 ASP服务器搭建 教程
- 新冠无情人间有情,欣隆农业保民生共抗疫——慰问抗疫一线及爱老助困送欣隆酵醒鸡蛋蔬菜进社区公益行动
- [matlab]利用cftool进行曲线拟合
- Qt数据可视化(QBoxPlotSeries盒须图)
- Bootstrap3 缩略图( thumbnail )
- 关于反函数的二阶导数