JDK 18 是自 JDK 17 发布以来的第一个非 LTS 版本。请注意,LTS 版本是在两年后发布的——JDK 21 将于 2023 年 9 月发布,这是两年后的下一个 LTS 版本。JDK 19 将在 JDK 18 之后的 9 月发布。在本文中,我们将讨论 Java 18 编程语言的新特性和增强功能。

以下是对最新版本 Java 所做的一些最新功能、更新和弃用的列表。

默认为 UTF-8

UTF-8 是一种在网络上广泛用于电子通信的可变宽度字符编码。请注意,charset 是一种能够对 Web 的所有字符进行编码的字符编码。

在 Java 18 中,平台的默认字符集现在是 UTF-8。这是对 Java 先前默认字符集的更改,该字符集由主机操作系统和语言环境决定。此次更新的主要原因是 UTF-8 已成为世界上使用最广泛的字符集,因此在 Java 中明确选择它可以大大简化事情。

单一网络服务器

该提案提供了一个简约的 Web 服务器,它只能提供静态文件。没有提供 CGI 或类似 servlet 的功能。该工具可用于原型设计、临时编码和测试。

基本目标包括:

提供一个开箱即用的静态 HTTP 文件服务器,具有简单的设置和最少的功能。

减少开发人员激活能量并使 JDK 更易于使用。

通过命令行提供默认实现以及用于编程创建和自定义的小 API。

Java API 文档中的代码片段

除了成熟的示例应用程序之外,API 文档有时还包含 Java 开发人员可以直接在你的应用程序中使用的小代码片段。Java 应用程序编程接口 (API) 文档包括以 HTML 注释形式编写并以注释字符开头的代码片段。

Java API 文档提供了说明每个特性的使用的代码示例。这些示例以代码片段的形式提供,代码片段是 Java 程序员可以插入到更广泛的程序中的一小段代码。

向量 API

Java 编码人员可以使用 Java 18 中的新 Vector API 来执行向量计算。向量只是一个可以作为单个实体进行操作的数字数组。这些向量有助于执行数值计算,尤其是涉及许多不同值的复杂计算。Vector API 擅长提高向量计算的速度。向量计算是对向量的一系列操作。例如,你可以使用向量来执行科学计算或作为机器学习算法的一部分。Vector API 允许你比以前更快速、更省力地进行此类计算。

以下是基本目标:

提供具有最低配置和功能的即用型静态 HTTP 文件服务器。

降低了开发人员的激活能量和更易于访问的 JDK。

除了适度的 API 之外,还包括一个默认的命令行实现。

在java培训中,有更加系统全面的课程,明确清晰的学习路线,学习起来既轻松,又高效。

互联网地址解析SPI

Java.net.InetAddress API 将主机名转换为 Internet 协议 (IP) 地址并返回。此 API 当前使用你操作系统的本机解析器。Java 18 为主机名和地址解析指定了一个服务提供者接口 (SPI),java.net 可以使用该接口。InetAddress 可以使用平台内置解析器以外的解析器。新的 InetAddress API 使用服务加载程序定位解析提供程序。

你可以使用以下属于 java.net.spi 包的类之一:

InetAddressResolverProvider —这是一个抽象类,它定义了由 java.util.ServiceLoader 定位的服务。

InetAddressResolver — 这表示定义方法正向和反向查找操作的接口。

InetAddressResolver.LookupPolicy — 这是另一个类,其实例描述解析请求的特征。

InetAddressResolverProvider.Configuration — 这是一个描述平台解析操作的内置配置的接口。

InternetAddressResolver 类是用于解析 Internet 地址项的通用接口。你可以使用此类从 IP 地址解析主机名,或从 HTTP URI 解析主机名和端口。InternetAddressResolverProvider 类是一个抽象类,必须由具体提供者扩展以定义自定义查找机制。它有三个需要重写的抽象方法:resolve()、getPriority() 和 getSchemeName()。

外部函数和内存 API

为了访问非 JVM 系统,Java 平台包含许多库。例如,JDBC 驱动程序可用于连接到 RDBMS。使用套接字来激活在线服务(HTTP 客户端)、服务远程客户端(NIO 通道)或连接本地进程也是可行的。

Java 平台包括许多使其能够在非 JVM 系统上运行的库。例如,你可以连接到 JDBC 驱动程序以使用 RDBMS 数据库。此外,你可以调用 Web 服务和远程客户端,甚至可以与本地运行的进程进行通信。

模式匹配改进

模式匹配简化了将对象与模式匹配的常见模式的实现。例如,你可能想要检查给定对象是否是特定类型的实例,然后以类型安全的方式访问它。此功能提高了可读性并提高了代码安全性。模式匹配可用于 switch 语句。

已弃用的最终确定以进行删除

finalize 方法是遗留 Java Object 类的一部分,旨在在对象可用于垃圾回收之前不久由运行时系统调用。终结器在后台线程中执行,因此它们明确不是正常程序执行的一部分。此外,它们的调用是不可预测的,尤其是当仍有足够的内存继续运行时。JDK 已经弃用终结器一段时间了,但在 JDK 18 中,弃用将成为警告。这一举动表明终结器可能会在未来的版本中从 Java SE 中删除。

关于 Java 18 更新的最终想法

在 Java 18 中,重点是使语言更加直观和易于访问,鼓励所有技能水平的程序员使用 Java。新版本肯定是一次重大更新,具有简单的 Web 服务器、模式匹配改进和默认 UTF-8 等新功能。此外,随着 Java API 文档中的代码片段和互联网地址解析 SPI 等变化,重点更多地放在改善新手和专家等用户体验上。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部