jdk18发布,新特性概览

JDK 18 / Java 18 GA 发布。JDK 18 是一个短期维护版本,将获得六个月的支持。尽管如此,但它仍然可用于生产环境中。根据开发计划,JDK 19 将于今年 9 月发布,而下一个 LTS 版本 JDK 21 将于 2023 年 9 月发布。

JDK 18 共包括 9 个 JEP,以及数百个较小的增强功能和一千多个错误修复。

默认编码为 UTF-8

将 UTF-8 指定为标准 Java API 的默认字符集。通过此更改,依赖于默认字符集的 API 将在所有实现、操作系统、语言环境和配置中保持一致。

简易 HTTP 服务器

提供命令行工具来启动一个仅提供静态文件的最小 Web 服务器。没有可用的 CGI 或类似 servlet 的功能。该工具可用于原型设计、临时编码和测试目的,尤其是在教育环境中。

Java API 文档中的代码片段

为 JavaDoc 的 Standard Doclet 引入一个 @snippet 标签,以简化 API 文档中的示例源代码。

用方法句柄(Method Handles)重新实现 Java 核心反射

在 java.lang.invoke 方法句柄的基础上重新实现 java.lang.reflect.Method、Constructor 和 Field。让方法句柄成为反射的底层机制将减少 java.lang.reflect 和 java.lang.invoke API 的维护和开发成本。

Vector API (第三次进行孵化)

引入一个 API 来表达在运行时能够可靠编译的向量计算,在支持的 CPU 架构上优化向量指令,从而实现优于标量计算的性能。

互联网地址解析 SPI

定义一个用于主机名称和地址解析的服务供给接口(SPI),以便 java.net.InetAddress 可以使用平台内置解析器以外的解析器。

外部函数和内存 API(第二次进行孵化)

引入一个 API,通过它,Java 程序可以与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数,以及安全地访问外部内存,该 API 使 Java 程序能够调用本地库并处理本地数据,而没有 JNI 的脆弱性和危险。

Switch 模式匹配(第二次进行预览)

switch 表达式和语句的模式匹配,以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。这是 JDK 18 中的一个预览的语言功能。

弃用 Finalization,以便在未来删除

弃用 Finalization,以便在未来的版本中删除它。目前 Finalization 仍然是默认启用的,但可以禁用它以便进行早期测试。在之后的版本中,它将率先被默认禁用,并在未来的版本中将其彻底删除。依赖于 Finalization 的库和应用程序的维护者应该考虑迁移到其他资源管理技术,如 try-with-resources 语句。

更多详情可查看:JDK 18

下载:OpenJDK JDK 18.0.2.1 GA Release


原文:https://mp.weixin.qq.com/s/aN1Wvz9yQWZQKkBzPZuFgA

1 Like