openjdk-7支持版本_长期支持对OpenJDK意味着什么?

openjdk-7支持版本

Bruno Borges最近在推特上发布了一个有关OpenJDK的长期支持(LTS)的问题,这表明对它的真正含义仍有一些困惑。 在此博客文章中,我将解释不同部分如何组合在一起。

首先,我们需要弄清OpenJDK的含义,这个术语在某种程度上已经变得过重了。 OpenJDK是一个开放源代码项目,托管在java.net网站的左侧。 直接从主页上引出,它是“在Java平台,标准版和相关项目的开源实现上进行协作的地方”。 相关项目包括JavaFX(在OpenJFX子项目下),以及诸如Valhalla,Panama和Loom之类的未来功能。

(显然)将OpenJDK用作形容词而不是名词也很重要。

OpenJDK是Java平台标准版开发的地方,这主要是由Oracle工程师提供的,但有许多其他组织和个人提供了输入。 Java SE是通过由Java社区流程(JCP)组织的专家组生成的许多Java规范请求(JSR)来指定的。 OpenJDK是Java SE规范的参考实现。

2007年,Sun Microsystems宣布他们将在开放源代码许可下发布JDK的Sun实施,这是OpenJDK的开始方式。 最初,它是JDK 7,但是还创建了一个项目,该项目提供JDK 6的源代码。JDK的每个后续发行版都有其自己的项目。

要使用OpenJDK运行应用程序,需要为特定平台构建源代码,这就是我们获得OpenJDK二进制发行版的方式。 因为这些通常被称为OpenJDK,所以导致对适用于源代码OpenJDK和适用于二进制发行版本OpenJDK的内容感到困惑。

在JDK 9发行之前,Oracle宣布了有关Java的开发,发行和更新将如何进行的许多公告。 现在,每年有两个Java版本,而不是由功能驱动的多年发布周期。 这些日期是固定的(3月和9月),并且仅包含当时可用的功能。

这种更快的发布节奏将很快使提供扩展支持变得不切实际,因此Oracle表示他们将指定Oracle JDK二进制文件的特定版本为具有长期支持(LTS)。 LDK指定了JDK 8来开始工作,而JDK 11是新模型下的第一个LTS版本。 LTS发行将每三年发生一次(因此,每六个JDK发行一次)。

每个版本都有一个单独的OpenJDK项目。 在Oracle担任OpenJDK首席架构师的Mark Reinhold在创建每个项目时都会领导该项目。 一个重要但微妙的区别是Mark是项目负责人,而不是Oracle。

过去,Oracle一直对其JDK提供更新,直到下一个版本发布一段时间为止。 从一年多到不到三年不等。 在此期间,Oracle继续为相关OpenJDK项目的更新贡献源代码更改。 当Oracle停止提供JDK的公共更新时,它也停止将源代码更改贡献给OpenJDK项目。

随着Oracle源代码更新的终止,Mark辞去了项目负责人的职务,并且根据规则,OpenJDK的另一个贡献者可以接任。 对于JDK 6、7、8和11,Andrew Haley(为Red Hat工作)担任了主要角色。 再次强调,重要的是这 不是 Red Hat领导该项目,而是Andrew 。 随后,安德鲁(Andrew)辞去了OpenJDK 6的项目负责人的职务,安德鲁·布赖金(Andrew Brygin)(为Azul工作的人)已接任。

自JDK 9起采用新的发布节奏,Oracle工程师仅在六个月内向OpenJDK项目贡献代码。 发布新版本后,他们会将工作切换到新版本。

然后,默认情况下,OpenJDK项目没有任何发行版的正式LTS策略。 随后,Java社区的其他成员加强了工作,以确保用户仍然可以访问JDK特定版本的扩展支持。 为了获得长期支持,社区采用了与Oracle相同的方法。 其他JDK提供程序(Azul,AdoptOpenJDK,Red Hat,Amazon等)也将JDK 8和11视为LTS发行版(并且JDK 17发行时很可能会这样做)。

长期支持的时间长短取决于OpenJDK项目成员准备好继续从当前版本向上游移植更新并向上游进行这些更改的时间长度。

在Azul,我们已经发布了支持计划,该计划将为LTS版本提供九年的更新,再加上两年的被动支持(可以报告错误,并且如果需要,我们将生成带有新二进制文件的修复程序)。 此外,Azul还决定提供所谓的中期支持(MTS)。 由于LTS发行版之间间隔三年,因此人们可能希望在五个中间发行版中使用某些功能。 为了满足此要求,Azul将提供其中两个版本的扩展支持。 在JDK 11和JDK 17之间,将分别是JDK 13和15。对于这两个版本,我们将提供商业支持,直到JDK 17发布后的18个月。

其他提供商也有自己的计划来支持LTS版本的支持时间,并且可以提供诸如Azul的MTS之类的不同选项。

如您所见,OpenJDK本身没有任何长期支持的正式概念。 至关重要的是,Java用户现在可以为他们的JDK提供更多的选择,并且无论是否有商业支持,都可以自信地保持对错误修复和安全补丁的扩展访问。

详细了解Azul的支持计划…

翻译自: https://www.javacodegeeks.com/2019/07/long-term-support-mean-openjdk.html

openjdk-7支持版本

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

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

相关文章

android 安装卸载应用提醒_Android监听程序的安装和卸载

在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。同样intent.getDataStr…

常用函数式接口的学习

文章目录定义常用的函数式接口Supplier演示代码Consumeraccept 方法演示代码andThen 方法演示代码Predicatetest 方法and 方法演示代码or 方法negate 方法Functionapply 方法演示代码andThen 方法演示代码定义 有且仅有一个抽象方法的接口称之为“函数式接口”,但是…

如何创建虚拟硬盘 + os 读取硬盘参数代码

【0】README 0.1) 本文旨在演示如何利用 bximage 创建虚拟硬盘;0.2) 利用 os 读取硬盘参数, source code from orange’s implemention of a os , for complete code , please visit https://github.com/pacosonTang/Orange-s-OS…

内联脚本被视为是有害的_数据类被认为有害

内联脚本被视为是有害的这篇博客文章解释了从我参与的项目之一中删除Lombok项目的动机。 它反映了我的个人观点,并不妨碍特定的技术。 大约三年前,我认识了Project Lombok ,这是一个添加Java代码的库。 我从一开始就喜欢它,因为它…

win10可用空间变成未分配_教你两种方法有效利用Win10未分配的空间 - 易我科技...

Haley 于2020/08/24更新 磁盘分区管理摘要文中介绍了两种方法充分利用Windows10未分配空间,分别为1)格式化Win10未分配空间来创建新的分区,2)在分区上添加未分配空间。我的Win 10计算机上有一个大小99GB的未分配空间 :「我在Windows计算机上安装了两个硬…

selenium编写脚本_Selenium脚本编写技巧和窍门

selenium编写脚本如果您刚刚开始学习Selenium,则以下技巧和窍门将成为您的救星。 这些技巧和窍门具有您可能会忘记的所有基本知识,将帮助您记住所有这些。 您只需浏览一次,几秒钟后您便会了解所有内容。 让我们一一看一下所有的技巧和窍门。 …

div和div之间画横线_HTML如何在两个div标签中间画一条竖线

近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。往常我们画一条横线直接用标签即可,当画一条竖线的时候发现找不到标签。在网…

静态类型/静态分派/动态分派/单分派/多分派

文章目录静态类型/实际类型方法解析静态分派动态单分派参考静态类型/实际类型 Human woman new Woman(); // Human就是静态类型,其实就是变量编译时类型,Woman就是实际类型 Man man new Man(); // 静态类型和实际类型都是Man方法解析 Class 文件的编…

jvm回收垃圾_没有垃圾回收的JVM

jvm回收垃圾JVM社区不断增加新的GC,最近又添加了一个新的GC,它被称为Epsilon ,是非常特殊的一个。 Epsilon仅分配内存,但不会回收任何内存。 看起来好像不执行任何垃圾回收的GC用途是什么。 这种类型的垃圾收集器有特殊用途&…

C打印函数printf的一种实现原理简要分析

【0】README 0.1)本文旨在对 printf 的 某一种 实现 原理进行分析,做了解之用;0.2) vsprintf 和 printf.c 的源码,参见 https://github.com/pacosonTang/dataStructure-algorithmAnalysis/tree/master/p309 【1】pr…

wireshark提取流量包中的文件_[技术]Wireshark抓取的数据包提取文件

0x00 简介本期主要会教大家如何从流量中还原出来文件。下面我将会用多种办法来讲解。使用系统:Kali Linux0x01 tcpxtract工具网络流量提取文件(方法1)Kali Linux默认没有安装该工具,需要自己安装安装命令:sudo apt install tcpxtract使用方法…

java设计模式适配器模式_Java中的适配器设计模式

java设计模式适配器模式适配器设计模式是一种结构设计模式 ,可以帮助我们连接到通过不同接口公开相似功能的旧版或第三方代码。 适配器的现实世界是我们用来将USB电缆连接到以太网端口的类比。 在设计一个面向对象的应用程序时,当我们的客户期望一个特…

技术路线的选择重要但不具有决定性

微软在技术上连续大动作,如果放在几年前,我相信微软粉丝们一定是欢声雷动,不过这次情况有点不太一样,在网上看到有人在抱怨微软技术更新速度太快而且四面出击,还有人扬言要改弦更张,投奔Linux或者Java阵营。…

nproc是什么意思_top/htop内容的含义

uptimeuptime命令显示了load avg,它其实是读取的/proc/uptime文件:/proc/uptime 文件cat /proc/uptime9592411.58 9566042.33第一个是系统启动了多久(单位s),第二个意思是系统启动以来,cpu idle花费的时间(单位s)。多核机器上&…

进程间通信(IPC)+进程加锁解锁

【0】README 0.1) source code and text description are from orange’s implemention of a os;0.2) for complete code , please visit https://github.com/pacosonTang/Orange-s-OS/tree/master/ipc_8 【1】看看,我们的进程代…

QA与测试到底有什么区别?

文章目录引言QA与测试的区别?QA、QC、QM的关系与区别?QA工作内容与职责引言 近期微信公众号后台有同学留言问: QA与测试的区别? QA、QC、QM的区别?以及QA的工作内容与职责。 针对这些问题我查阅了一些资料然后结合自…

java 进程运行时间_将Java类作为子进程运行

java 进程运行时间我本周需要将Java类(而不是jar)作为子进程运行。 更确切地说,我想从测试内部产生一个新进程,而不是直接在测试内部(进程内)运行它。 我不认为这是幻想或复杂的事情。 但是,这不…

划分vlan实验心得体会_思科:相同vlan,不同交换机之间的通信

实验拓扑如下:VPC 26 IP 23.1.1.3 24 VLAN20VPC 25 IP 12.1.1.2 24 VLAN10VPC1 IP 12.1.1.1 24 VLAN10VPC2 IP 23.1.1.2 24 VLAN20IOL交换机命名为SW1 先配置SW1的vlan10 和20检查SW1的vlan信息配置SW1的vlan10 和20检查SW2的vlan信息下一步将SW1和SW2连接的接口改为…

如何通过W3school学习JS/如何使用W3school的JS参考手册

文章目录学习JS对象DOM 对象HTML 对象JS 的常规类型教程学习 jQuery学习平台: W3school类似的学习平台: 菜鸟教程学习JS对象 DOM 对象 HTML 对象 JS 的常规类型 教程 学习 jQuery

快速选择

【0】README 0.1)设有一组N 个数而要确定其中第k 个最小(大)者,我们称之为选择问题; 选择问题的解法?” 解法即为 快速选择算法; 0.2) 快速选择是对 快速排序 改造而来&#xff0…