JDK 17 – Java 17 中的新特性

简介: JDK 17 – Java 17 中的新特性


Java 17 LTS 是 Java SE 平台的最新长期支持版本。JDK 17 二进制文件可以在生产中免费使用,并且可以免费重新分发,LTS 代表长期支持,它于2021年9月15日发布 。

这意味着什么?

当人们熟悉并理解操作时,没有单调的心态和频繁的发布。基本上,JDK17 的 Open LTS 版本现已发布,它由开发工具、一组库、一个 Java 虚拟机和其他文件组成。每次发布时,我们都会看到新功能,同时检查其中一些是否被更改或删除。让我们讨论开放 LTS 版本的演变,否则直接切换到安装部分或更新到它。

Open LTS Java 版本的演变

还记得过去,我们期待新的 Java 版本,例如 2006 年到 2012 年的 Java 6,2013 年的 Java 7,然后是 2014 年的 Java 8,其中引入了最流行的概念 lambda流和流。直到现在都很好,因为新版本可以解释为 Java 正在成为 IT 行业的热门产品。现在坚持下去,我们会在很短的时间间隔内看到新的 Java 版本,例如到 2017 年我们有 Java 9,到 2018 年我们有 Java 10,同年我们确实看到了 Java 11。但是这一次 Java 在行业中有着更深的根基大多数公司选择 Java 作为他们的主要开发语言,对员工的技能要求也很高。

众所周知,这种编程语言是由Oracle 系统拥有、设计和更新的,所以这家公司会大规模扩张,2018 年之后,我们可以绘制出每年肯定会推出新版本的模式。我们也在 2019 年看到 Java 12、Java 13。到 2020 年,我们看到新的 Java LTS 发布周期是每 6 个月之后,Java 14 和 Java 15 也会在 2020 年发布。现在在现在去年,我们已经将 Java 16 视为最新的 LTS,与往常一样,随着快速扩展,我们也看到一个新的 LTS Java17,它于 2021 年 9 月 15 日推出, 现在回到最近。

大多数开发人员喜欢它,有些不是他们的感知,但对于有进取心的世界来说它变得乏味,因为它对公司来说变得紧张,在连续 6 个月后,新版本推出一些新功能,同时消除一些以前的功能,所以为了正确的工作流程,每个 LTS 版本都可以访问长达数年。当今世界有一些公司,其中一些公司选择稳定性,而其他公司则选择引入新功能的可扩展性和易用性。

JDK17 中引入的特性

为了转换工作流程每个人都为这个版本的重大更新而疯狂。但开发人员应该感到失望,因为没有像我们从通常称为 JEPS 的 JDK 增强提案中看到的那样大的发布更新版本检查,如下所示:

306:恢复始终严格的浮点语义

356:增强型伪随机数生成器

382:新的 macOS 渲染管线

391:macOS/AArch64 端口

398:弃用 Applet API 以进行删除

403:强封装的JDK内部

406:开关模式匹配(预览)

407:移除 RMI 激活

410:移除实验性 AOT 和 JIT 编译器

411:弃用安全管理器以进行删除

412:外部函数和内存API(孵化器)

414:Vector API(第二孵化器)

415:特定于上下文的反序列化过滤器

由此,我们认为此版本中没有显著的标记更改,但仍在深入了解它们,为此我们将它们分为 4 类,如下所示:

  1. 不错的开发人员类型的东西
  2. 特定的开发人员类型的东西
  3. 跟上苹果的各种东西
  4. 清理各种东西

类别 1:优秀的开发人员

406:开关模式匹配(预览)

1.1 交换机的模式匹配:

它通过允许模式出现在 case 标签中来允许模式和语句,从而扩展了 switch 表达式和语句的表达能力和适用性。它还允许在需要时放松转换的历史无效敌意。

引入了两种新模式,如下所示:

  • 保护模式:使用模式 && 布尔表达式进一步细化
  • 带括号的模式

1.2密封类:

使用密封类和接口增强 java 编程语言。密封类和接口限制哪些其他类或接口可以扩展或实现它们。

语法:

java

复制代码

public abstract sealed class Animal
permits Dog, Cat, Rabbit {...}

类别 2:特定开发人员

306:恢复始终严格的浮点语义

2.1 恢复 Always-Strict 浮点语义:

它使浮点运算始终严格。

2.2 增强型伪随机数生成器:

它为伪随机数生成器提供了新的接口类型和实现,以便更轻松地使用各种 PRNG 算法并更好地支持基于流的操作。

2.3 强封装的JDK内部:

它强有力地封装了 JDK 的所有非关键内部元素

2.4 外部函数和内存API(孵化器):

它引入了一个 API,Java 程序可以通过它在 Java 运行时之外解释代码和数据。

2.5 Vector API(二次孵化器):

它引入了一个 API 来表达向量计算,这些计算在运行时可靠地编译为最佳向量指令。

2.6 上下文特定的反序列化过滤器:

它允许应用程序配置特定于上下文和动态选择的反序列化过滤器。

类别 3:跟上 Apple 的各种东西

3.1 新的 macOS 渲染管线:

它更改了 macOS 的 Java 2D macOS 渲染管道,以使用 Apple Metal API 而不是已弃用的 Apple OpenGL API。

3.2 macOS/AArch64 端口

类别 4:清理各种东西

4.1 弃用 Applet API 以进行删除:

Applet API 将被删除,因为它已被弃用,因为 JDK9 大多数浏览器不再支持它。

4.2 移除RMI激活:

尽管 RMI 仍在使用,但 RMI 激活机制随着过去十年的 Web 技术而过时。

4.3 移除实验性 AOT 和 JIT 编译器:

删除实验性的基于 Java 的提前 (AOT) 和即时 (JIT) 编译器。

4.4 弃用安全管理器以进行移除:

弃用安全管理器以在未来版本中移除。安全管理器可追溯到 java 1.0。多年来,它一直不是保护客户端 Java 代码的主要手段。

安装JDK17

现在让我们了解一下如何下载最新版本。为了下载最新的 LTS 版本,即 JDK

步骤 1: 使用浏览器访问 Oracle 网站。步骤 2: 根据您的操作系统下载版本,不同的操作系统请参考如下:

  • 适用于 Linux 的 .debian
  • 适用于 macOS 的 .dmg
  • 适用于 Windows 的 .exe

继续下一步并选择要在本地计算机上安装的目录,注意可以在安装过程中通过以下快照看到 JRE 内置支持,因此您无需按照标题图像中的理由单独添加它。


19.png

步骤 3: 设置系统环境变量的路径,为了检查是否安装了这个新的 JDK,请通过终端输入以下命令进行验证。

javac --version
java --version


目录
相关文章
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
Java API 开发者
462 0
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
837 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
Oracle Java 关系型数据库
新手必看:Java 开发环境搭建之 JDK 与 Maven
本文分享了 Java 学习中 JDK 安装配置与 Maven 使用的入门知识,涵盖 JDK 下载安装、环境变量设置、Maven 安装配置及本地仓库与镜像设置,帮助新手快速搭建 Java 开发环境。
1910 0
|
并行计算 Java API
Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
653 1
|
安全 Java 微服务
Java 最新技术和框架实操:涵盖 JDK 21 新特性与 Spring Security 6.x 安全框架搭建
本文系统整理了Java最新技术与主流框架实操内容,涵盖Java 17+新特性(如模式匹配、文本块、记录类)、Spring Boot 3微服务开发、响应式编程(WebFlux)、容器化部署(Docker+K8s)、测试与CI/CD实践,附完整代码示例和学习资源推荐,助你构建现代Java全栈开发能力。
1176 1
|
缓存 安全 Java
Java 并发新特性实战教程之核心特性详解与项目实战
本教程深入解析Java 8至Java 19并发编程新特性,涵盖CompletableFuture异步编程、StampedLock读写锁、Flow API响应式流、VarHandle内存访问及结构化并发等核心技术。结合电商订单处理、缓存系统、实时数据流、高性能计数器与用户资料聚合等实战案例,帮助开发者高效构建高并发、低延迟、易维护的Java应用。适合中高级Java开发者提升并发编程能力。
705 0
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
604 1
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
869 0
|
Ubuntu Java Android开发
在Ubuntu 18.04上安装与JDK 8兼容的Eclipse版本的步骤。
安装过程结束后,您就可以开始使用Eclipse来开发您的Java项目了,并且确保它与JDK 8兼容无误。这个过程涉及的是一个基本的安装流程,针对使用Java 8的用户,Eclipse的其他配置和插件安装根据个人开发环境和需求来定制。
703 0