两个Oracle JDK的故事

最近有人担心 Java开发人员现在会无意中使用错误的Oracle提供的JDK实现(从JDK 11开始 ), Oracle提供了开放源代码OpenJDK的构建 ,并且还提供了主要基于OpenJDK源代码的商业JDK构建。

下表比较并对比了Oracle提供的两个JDK版本(但是Oracle不会是唯一免费提供和/或收取支持费用的JDK构建的供应商)。 请记住,这代表了我对Oracle两种产品的异同的最佳个人理解。 在决定要使用哪个Oracle JDK实现(甚至是否使用Oracle实现)之前,请与权威人士联系。

Oracle的JDK构建( https://jdk.java.net/ )
特性 Oracle OpenJDK构建 Oracle JDK(Java SE下载)
Oracle的描述 最终用户和开发人员正在寻找免费的JDK版本 :根据GPL许可, Oracle OpenJDK提供与Oracle JDK相同的功能和性能。” 针对Oracle LTS版本的Oracle客户和ISV :Oracle JDK是Oracle支持的Java SE版本,用于客户以及开发,测试,原型化或演示Java应用程序。”
网址 https://jdk.java.net/11/ https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
执照 GNU通用公共许可证,版本2,带有类路径异常 Oracle Java SE的Oracle技术网许可协议
构建平台 (二进制) Linux / x64( tar.gz
macOS / x64( tar.gz
Windows / x64( zip
Linux / x64( tar.gzdebrpm
macOS / x64( tar.gzdmg
Windows / x64( zipexe ) Solaris SPARC( tar.gz
支付生产使用费 没有
Oracle支持 选择错误修复和安全补丁,直到下一个JDK版本的General Availability版本发布为止 Java SE订阅
(支持LTS版本长达8年)
Oracle客户 ” 下的其他几种付费支持产品
java -version示例 openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
java version "11" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
需要接受许可协议 没有
Java飞行记录器
Java任务控制
高级管理控制台 没有
该表仅代表我个人的理解; 有关更多权威信息,请参考Oracle文档和OpenJDK文档(请参见下面的“参考”)。

JDK的其他实现也将可用,其中有些是免费的,有些需要付费。 为了使“ Oracle OpenJDK构建”和“ Oracle JDK构建”之间的比较更加简洁明了,本文中我没有讨论这些替代提供的JDK。

参考文献

  • Oracle Java SE支持路线图
  • 适用于Java 11及更高版本的Oracle JDK版本
  • Java SE产品
  • Java SE Release Cadence的更新和常见问题解答
  • OpenJDK商标声明 (Oracle拥有商标)

翻译自: https://www.javacodegeeks.com/2018/10/tale-two-oracle-jdks.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针+switch

函数指针简介 #include <stdio.h>int add(int a, int b) {return a + b; }int dec(int a, int b)

为什么要区分不同的网段IP地址

不划分网段的问题&#xff1f; ①广播流量太多&#xff0c;占用网络带宽和设备资源。 ②管理复杂&#xff0c;不利于发现问题、排除故障。 ③不利于安全风险的隔离&#xff0c;安全问题影响范围更大。 如何划分不同的网段&#xff1f; IP地址如&#xff1a;192.168.1.10 / 25…

不同网段通信的过程

第一步&#xff1a;判断对方在不在同一个网段 不在 第二步&#xff1a;PC通过本地路由查找默认网关信息 第三步&#xff1a;PC通过本地ARP表查找默认网关MAC地址 有默认网关MAC&#xff0c;则接着第四步&#xff1b;没有默认网关MAC&#xff0c;则通过ARP广播寻址&#xff1b…

【终极完美高效】C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针数组

代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <string.h> #include <stdlib.h>enum {READ_ONLY,HIDE,SYSTEM = 55,TEST }

ARP地址解析协议(深信服X计划)

文章目录一、ARP需求背景二、ARP概述及工作原理三、免费ARP概述及案例四、代理ARP概述及案例一、ARP需求背景 在以太网中&#xff0c;一个主机和另一个主机进行直接通信&#xff0c;必须要知道目标主机的MAC地址。单这个目标MAC地址是如何获得的呢&#xff1f;它就是通过ARP&a…

grails框架_Play和Grails Java框架的优缺点

grails框架框架通过为程序员提供一些有用的功能来简化应用程序开发过程。 由于开发人员的普遍使用&#xff0c;Java框架经常被开发人员使用。 您可以在市场上找到各种Java开发框架。 新手开发人员经常在论坛上发布一个常见问题&#xff1a;“哪种Java框架是最好的&#xff1f;”…

TCP和UDP协议(深信服X计划)

文章目录一、TCP协议概述二、TCP三次握手和四次挥手三、UDP协议概述四、TCP和UDP对比及应用场景一、TCP协议概述 TCP (Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由ETF的RFC 793定义。在简化的计算机网络O…

C语言实用算法系列之时间族函数、目录遍历

时间族函数测试 代码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <stdlib.h> #include <time.h>void main() {time_t tt;//long __int64time(&tt);tm* time localtime(&tt);char* ws[] { "日","一","…

跟踪反应流–将Spring Cloud Sleuth与Boot 2结合使用

Spring Cloud Sleuth在OpenZipkin Brave的基础上增加了对Spring工具的支持&#xff0c; 从而使Spring Boot应用程序的分布式跟踪变得异常简单。 这是一篇关于如何使用此出色的库添加对分布式跟踪支持的简要说明。 考虑两个应用程序–一个使用上游服务应用程序的客户端应用程序…

DNS域名解析协议(深信服X计划)

文章目录一、DNS协议背景二、DNS协议概述三、DNS工作原理四、DNS常用的记录及作用一、DNS协议背景 在Internet网中连接着数量众多的主机&#xff0c;要让这些主机进行通信&#xff0c;需要有一套名字标识体系&#xff0c;让主机之间能够彼此找到对方&#xff0c;我们可以用多种…

【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码

1、内存四区特点 a)全局区变量空间缺省每个字节为00,栈空间缺省是cc,堆缺省是cd b)堆、全局区(静态区)、字符串常量区,与栈区空间的位置距离很大,栈区访问速度可能最快; 2、C语言与C++编译器的区别: a)所有的.c文件在VC或者VS编译器中按C编译器编译; b)所有的.cp…

基于51单片机的温度检测监测报警系统设计

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发生关键词&#xff1a;单片…

【1】C++语法与数据结构之C语言学生管理系统转C++学生管理系统

从本文开始,后续将陆续发布C++语法与数据结构的相关内容,同样还是以学生管理系统来融汇贯通所有知识点。 接上篇博客【终极完美高效】C语言实用算法系列之学生管理系统_单向链表外排序_堆内数组存储链表节点指针_函数指针数组C++中定义CStudent类 文件名:Student.h typede…

rest 验证demo_如何实现REST资源的输入验证

rest 验证demo如何实现REST资源的输入验证 我正在使用的SaaS平台具有一个RESTful接口&#xff0c;该接口可以接受XML有效负载。 实施REST资源 对于像我们这样的Java商店&#xff0c;使用JAX-B从XML Schema生成JavaBean类是有意义的。 在像Jersey的JAX-RS环境中&#xff0c;使…

校园点餐系统:点餐、食堂管理、商户管理和菜品管理(Java和MySQL)

微信公众号&#xff1a;创享日记 发送关键词&#xff1a;校园点餐系统 获取报告数据库设计说明项目源码源文件工程文件 1 实验环境 操作系统&#xff1a;Windows 10&#xff0c;主要开发工具&#xff1a;PowerDesign&#xff0c;MySQL&#xff0c;Eclipse 2 实验过程 2.1 系统…

病情预测:指示病情程度、预测病情指标(深度学习和Python)

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;病情…

QueryDSL中包含通配符的字符串的精确匹配

在我们最近的一个项目中&#xff0c;我们的客户要求一个搜索字段&#xff0c;该字段可以搜索名字&#xff0c;姓氏和电子邮件地址&#xff0c;唯一的通配符是星号“ *”&#xff0c;表示部分匹配。 听起来很简单&#xff0c;但它使我们陷入了混乱。 在我们的项目中&#xff0c;…

邮件系统(基于SMTP协议和POP3协议-C语言实现)

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;邮件…

arp、ethernet、icmp、udp、ip协议的C语言实现(计算机网络协议栈实验)

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记 发送关键词&#xff1a;协议…

jpa获取session_JPA 2 | 获取联接以及我们是否应该使用它们

jpa获取session介绍 最近&#xff0c;我一直在与JPA 2中的FETCH JOINS一起使用&#xff0c;以期从数据库中急切地获取数据&#xff0c;并且我学到了很多关于为什么在日常操作中应避免使用Fetch Joins的知识。 今天的博客文章谈论了我在Fetch上的经历和学习&#xff08;主要基于…