JDK 18 是自 JDK 17 發布以來的第一個非 LTS 版本。請注意,LTS 版本是在兩年后發布的——JDK 21 將于 2023 年 9 月發布,這是兩年后的下一個 LTS 版本。JDK 19 將在 JDK 18 之后的 9 月發布。在本文中,我們將討論 Java 18 編程語言的新特性和增強功能。對Java 感興趣的同學,可以參加Java培訓來獲得知識和技能,以便快速上崗。
以下是對最新版本 Java 所做的一些最新功能、更新和棄用的列表。
默認為 UTF-8
UTF-8 是一種在網絡上廣泛用于電子通信的可變寬度字符編碼。請注意,charset 是一種能夠對 Web 的所有字符進行編碼的字符編碼。
在 Java 18 中,平臺的默認字符集現在是 UTF-8。這是對 Java 先前默認字符集的更改,該字符集由主機操作系統和語言環境決定。此次更新的主要原因是 UTF-8 已成為世界上使用最廣泛的字符集,因此在 Java 中明確選擇它可以大大簡化事情。
單一網絡服務器
該提案提供了一個簡約的 Web 服務器,它只能提供靜態文件。沒有提供 CGI 或類似 servlet 的功能。該工具可用于原型設計、臨時編碼和測試。
基本目標包括:
提供一個開箱即用的靜態 HTTP 文件服務器,具有簡單的設置和最少的功能。
減少開發人員激活能量并使 JDK 更易于使用。
通過命令行提供默認實現以及用于編程創建和自定義的小 API。
想掌握 Java 技術的同學不妨報個Java培訓班,可以節省學習時間,提高學習效率,在短時間內學有所成,還能找到一份不錯的工作。
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 知識和技能,建議參加java培訓,課程實時更新,緊跟市場和企業,讓你學到最新的java技能,提高市場競爭力。
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 等變化,重點更多地放在改善新手和專家等用戶體驗上。想對java有更深入的了解,可以參加java培訓,在專業老師的指導下,你可以很快掌握java的更多特性。