vlambda博客
学习文章列表

Java 18 GA 发布,JDK 19 也快来了

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

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

400: UTF-8 by Default
408: Simple Web Server
413: Code Snippets in Java API Documentation
416: Reimplement Core Reflection with Method Handles
417: Vector API (Third Incubator)
418: Internet-Address Resolution SPI
419: Foreign Function & Memory API (Second Incubator)
420: Pattern Matching for switch (Second Preview)
421: Deprecate Finalization for Removal

默认编码为 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

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

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

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

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

弃用 Finalization,以便在未来删除

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

更多详情可查看:https://openjdk.java.net/projects/jdk/18/

下载:https://jdk.java.net/18/


链接:https://www.oschina.net/news/187796/jdk-18-ga




往期推荐