3月22日,Oracle正式发布了JDK18/Java18正式版。在性能、稳定性和安全性方面,Java18得到全面提升,包括九大JDK增强(JEP)到平台,这大大提高了开发人员的生产力。据了解,JDK18是一个短期维护版本,将支持六个月。尽管如此,它仍然可以在生产环境中使用。JDK18版本总共包括九个JEP,以及数百个较小的增强功能和一千多个错误修复。JDKImprovedDefaultEncodingtoUTF-8将UTF-8设置为标准JavaAPI的默认字符集。通过此更改,依赖默认字符集的API将在所有实现、操作系统、区域设置和配置中保持一致。SimpleWebServer是一个命令行工具和API,用于启动仅提供静态文件的最小Web服务器。可用于原型制作、临时编码和测试目的,尤其是在教育环境中。使用方法句柄重新实现核心反射在java.lang.invoke方法句柄之上重新实现java.lang.reflect.Method、Constructor和Field。通过对反射底层机制的处理,降低了java.lang.reflect和java.lang.invokeAPI的维护和开发成本。Internet地址解析SPI为主机名和地址解析定义了服务提供者接口(SPI),以便java.net.InetAddress可以使用第三方解析器。JavaAPI文档中的JEP片段为JavaDoc的标准Doclet引入了@snippet标签,以简化API文档中的示例源代码。随后的JDK更新预示着VectorAPI(第三次孵化)为开发人员提供了一个API,用于提供与不可扩展处理器相比具有卓越性能的可扩展CPU架构。ForeignFunctionsandMemoryAPI(第二次孵化)引入了一种API,使Java程序能够与其他数据进行互操作。该API使Java程序能够调用本机库并操作本机数据,而没有脆弱性和危险性。Switch的模式匹配(第二个预览版)通过switch表达式和语句的模式匹配以及模式语言的扩展增强了Java编程语言。将模式匹配扩展到switch中,允许表达式针对多种模式进行测试,每个模式都有特定的操作,从而可以简洁安全地表达复杂的面向数据的查询。为将来删除而弃用的最终化现在默认情况下仍处于启用状态,但可以出于测试目的将其禁用。它将在未来的版本中默认禁用,并在之后完全删除。依赖于Finalization的库和应用程序的维护者应该考虑迁移到其他资源管理技术,例如try-with-resources语句。
