JDK8终将走进历史,Oracle宣布JDK继续免费

2024-01-15 02:04

本文主要是介绍JDK8终将走进历史,Oracle宣布JDK继续免费,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • Oracle 已免费提供 JDK
  • Oracle Java SE 产品最新动态
  •  为什么业界中用JDK8那么多
  • Java SE 8 公共更新结束
  • 总结

前言

        今天想到上个月无意中听闻到的一句话:JDK8之后收费了,所以大家都用JDK8。当时只觉得这个话说得不对,但因为和说话的人不认识也就过去了。今天想到此事之后,为了不让更多的朋友误解JDK8和Oracle,还是决定写一篇文章说说此事。

Oracle 已免费提供 JDK

        2021年09月14日,JAVA 17 带来的不仅仅是新功能。更快的 LTS 节奏和免费的 Oracle JDK 使其成为有史以来支持最好的现代版本。Oracle JDK收费为人诟病,此次Oracle推出了Free Java License ,大致摘要:

  • Oracle 正在免费提供行业领先的Oracle JDK,包括所有季度安全更新。这包括商业和生产用途。
  • 新许可是“Oracle 免费条款和条件”(NFTC) 许可。此 Oracle JDK 许可证允许所有用户免费使用,甚至可以用于商业和生产用途。只要不收费,再分发是允许的。
  • 开发人员和组织现在无需点击即可轻松下载、使用、共享和重新分发 Oracle JDK。
  • Oracle 将从Oracle JDK 17开始提供这些免费版本和更新,并在下一个 LTS 版本之后继续提供整整一年。以前的版本不受此更改的影响。
  • Oracle 将继续按照自 Java 9 以来的相同版本和时间表提供GPL下的Oracle OpenJDK 版本。

Oracle Java SE 产品最新动态

        截至到2024年1月14日,Oracle 为客户提供针对 Oracle Java SE 产品的 Oracle 标准支持服务,如 Oracle 终身支持政策中所述。对于 Java SE 8 之后的产品版本,Oracle 将仅将某些版本指定为长期支持 (LTS) 版本。Java SE 8、11、17 和 21 是 LTS 版本。Oracle 打算每两年发布一次未来的 LTS 版本,这意味着下一个计划的 LTS 版本是 2025 年 9 月的 Java 25。就 Oracle 标准支持服务而言,非 LTS 版本被视为最新 LTS 版本的一组累积实施增强功能。一旦新功能版本可用,任何以前的非 LTS 版本都将被视为被取代。例如,Java SE 9 是一个非 LTS 版本,并立即被 Java SE 10(也是非 LTS)取代,而 Java SE 10 又立即被 Java SE 11 取代。但是,Java SE 11 是 LTS 版本,因此即使 Java SE 12 已发布,Oracle 客户也将获得 Oracle 标准支持和定期更新版本。

        Oracle Java SE 产品的一些关键产品日期示例包括:

Oracle Java SE 支持路线图*†
释放GA 日期高级支持截止时间延长支持期限至持续支持
8 (LTS)**2014 年 3 月2022 年 3 月2030 年 12 月*****不定
9 - 10(非 LTS)2017年9月至2018年3月2018年3月至2018年9月不可用不定
11 (LTS)2018 年 9 月2023 年 9 月2032 年 1 月*****不定
12 - 16(非 LTS)2019年3月至2021年3月2019年9月至2021年9月不可用不定
17 (LTS)2021 年 9 月2026 年 9 月****2029 年 9 月****不定
18(非 LTS)2022 年 3 月2022 年 9 月不可用不定
19(非 LTS)2022 年 9 月2023 年 3 月不可用不定
20(非 LTS)2023 年 3 月2023 年 9 月不可用不定
21 (LTS)2023 年 9 月2028 年 9 月****2031 年 9 月****不定
22(非 LTS)***2024 年 3 月2024 年 9 月不可用不定
23(非 LTS)***2024 年 9 月2025 年 3 月不可用不定
24(非 LTS)***2025 年 3 月2025 年 9 月不可用不定
25 (LTS)***2025 年 9 月2030 年 9 月2033 年 9 月不定

 为什么业界中用JDK8那么多

        JDK8有很多优点,所以很多人选择使用它。以下是一些常见的原因:

  1. JDK8版本是长期支持版本,得到了Oracle公司的官方支持,可以获得稳定的技术支持和更新。
  2. JDK8版本引入了许多新的特性,例如函数式编程、Lambda表达式、流式处理等,这些特性可以使代码更加简洁、易读、易维护,并且可以提高开发效率。
  3. JDK8版本在之前的版本上在性能优化进行了很多改进,包括在JIT编译器中引入了新的优化技术,提高了代码的执行效率。
  4. JDK8版本对于开发工具提供了更好的支持,例如新的日期/时间API、新的并发工具等,能够帮助开发人员更加方便地进行开发。
  5. JDK8版本在安全性方面进行了一些改进,提供了更好的安全保护机制,能够帮助企业防止安全漏洞。
  6. 技术更新是需要过程的,在市场各产品和服务没有同步达到足够的稳定安全状态的情况下,为了减少风险,企业和个人都会选择相对稳定的老版本坚持使用。

Java SE 8 公共更新结束

        Java SE 8 已经完成了旧版的公共更新结束过程。Oracle 将继续通过 java.com 无限期地为个人用户、开发人员用户和其他用户提供免费的 Java SE 8 公共更新和自动更新。如果设置了终止日期,Oracle 将在此页面和其他通信渠道上提供至少 18 个月的通知。

        Oracle 不打算通过自动更新功能将桌面从 Java SE 8 迁移到更高版本。这包括 Java 插件和 Java Web Start。我们鼓励应用程序开发人员使用 Java SE 9 引入的打包选项,将他们的 Java 应用程序重新打包并交付为包含他们自己的自定义运行时的独立应用程序,而不是依赖于浏览器可访问的系统 JRE。

        Java SE 8 是推荐的、唯一受支持的部署堆栈版本。Java SE 8 部署堆栈可用于在 Windows 平台上运行 Java SE 7 或 Java SE 8 应用程序。Java SE 8 之后将不再支持 Java 部署技术。有关详细信息,请参见 Oracle 终身支持政策。

        JavaFX 已开源并重新设计为可作为独立库使用,而不是包含在 JDK 中。从 Java SE 11 开始,JavaFX 不包含在 Oracle JDK 中。Java SE 8 上对 JavaFX 的支持将持续到 2025 年 3 月。

支持部署技术和 JavaFX*
版本GA 日期Java Web Start 支持直到Java 插件(小程序)支持直到JavaFX 支持截止
62006年12月2017 年 10 月2017 年 10 月不适用
72011 年 7 月2017 年 10 月2017 年 10 月2019 年 7 月
82014 年 3 月2030 年 12 月2019 年 3 月2025 年 3 月
9 及更高版本不适用不适用不适用

        Java SE 11 将在 2023 年 10 月至 2032 年 1 月期间免除扩展支持提升费用。Java SE 8 将在 2022 年 3 月至 2030 年 12 月期间免除扩展支持提升费用。在此期间,您将获得“技术支持策略”的“Oracle 技术支持级别”部分所述的扩展支持。

总结

        JDK17、JDK19、JDK21版本也是JDK8之后Oracle官方所声明地长期支持版本。当这些LTS产品还需要通过市场的不断检验很升级,未来一定会有新的JDK版本又一次占据JDK主流的。JDK8终将会像曾经的JDK5一样,被当下的人们所淡忘。

这篇关于JDK8终将走进历史,Oracle宣布JDK继续免费的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607293

相关文章

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI