JDK22 正式發(fā)布了 !一起來看看吧!
前言
2024年3月19日,Oracle正式發(fā)布Java22。
圖片
這是備受歡迎的編程語(yǔ)言和開發(fā)平臺(tái)推出的全新版本。
Java 22 (Oracle JDK 22) 在性能、穩(wěn)定性和安全性方面,進(jìn)行了數(shù)千種改進(jìn),包括對(duì)Java 語(yǔ)言、其API 和性能,以及Java 開發(fā)工具包 (JDK)中工具的增強(qiáng)功能,以幫助開發(fā)人員提高工作效率,推動(dòng)企業(yè)加速創(chuàng)新和發(fā)展。
全新的 Java 版本提供 12 個(gè) JDK 增強(qiáng)建議,有助于優(yōu)化 Java 語(yǔ)言并提升開發(fā)平臺(tái)的性能、穩(wěn)定性和安全性。
1.Project Amber 的特性
(1)JEP 447
支持開發(fā)人員自由地表達(dá)構(gòu)造器的行為。對(duì)于未引用正在創(chuàng)建的實(shí)例的語(yǔ)句,該語(yǔ)句也可以在調(diào)用顯式構(gòu)造器之前出現(xiàn),讓開發(fā)人員可以更自然地放置邏輯。
(2)JEP 456
通過未命名的變量和模式來增強(qiáng) Java 語(yǔ)言。在必須使用變量聲明或嵌套模式,但又從未使用過的情況下,開發(fā)人員可以使用這些變量和模式來提高生產(chǎn)力。
(3)JEP 459
使包含運(yùn)行時(shí)計(jì)算值的字符串更容易表達(dá),簡(jiǎn)化 Java 程序的開發(fā)工作,同時(shí)提高將用戶提供的值編寫成字符串,并將字符串傳遞給其他系統(tǒng)的程序的安全性。
(4)JEP 463
通過 Java 編程入門教程,學(xué)生無需了解為大型程序而設(shè)計(jì)的語(yǔ)言功能,即可順利編寫第一個(gè)程序,加快了上手速度。通過此特性,教育工作者可以循序漸進(jìn)地介紹概念,學(xué)生也可以編寫簡(jiǎn)化的單類程序聲明,并隨著個(gè)人技能的提升,無縫擴(kuò)展程序并使用更高級(jí)的功能。
2.Project Loom 的特性
(1)JEP 462
通過引入用于結(jié)構(gòu)化并發(fā)的 API,幫助開發(fā)人員簡(jiǎn)化錯(cuò)誤處理和取消,并提高可觀測(cè)性,進(jìn)而鼓勵(lì)更多人選擇并發(fā)編程。
(2)JEP 464
支持開發(fā)人員在線程內(nèi)和線程之間共享不可變數(shù)據(jù),從而提高項(xiàng)目的易用性、可理解性、性能和穩(wěn)健性。
3.Project Panama 的特性
(1)JEP 454
新推出的 API 使 Java 程序更容易與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)互操作,從而幫助開發(fā)人員提高易用性、靈活性、安全性和性能。通過有效調(diào)用外部函數(shù)(即 Java Virtual Machine (JVM) 之外的代碼),以及安全地訪問外部?jī)?nèi)存(即不受 JVM 管理的內(nèi)存),這個(gè)新的 API 支持 Java 程序在無需 Java Native Interface 的情況下調(diào)用本地庫(kù)和處理原生數(shù)據(jù)。
(2)JEP 460
引入 API來表達(dá)向量計(jì)算,在運(yùn)行時(shí)可靠地編譯為支持的 CPU 架構(gòu)上的向量指令,使開發(fā)人員獲得優(yōu)于等效標(biāo)量計(jì)算的性能。
4.核心庫(kù)和工具功能
(1)JEP 457
通過提供用于解析、生成和轉(zhuǎn)換 Java 類文件的標(biāo)準(zhǔn) API,幫助開發(fā)人員提高工作效率。
(2)JEP 458
支持開發(fā)人員通過增強(qiáng) Java 應(yīng)用啟動(dòng)器,選擇是否以及何時(shí)需要配置構(gòu)建工具,從而運(yùn)行作為多個(gè) Java 源代碼文件提供的程序。
(3)JEP 461
通過增強(qiáng) Stream API 來支持自定義中間操作,讓流管道能以比現(xiàn)有內(nèi)置中間操作更輕松的方式轉(zhuǎn)換數(shù)據(jù),從而幫助開發(fā)人員提高工作效率。
5.性能更新
(1)JEP 423
在原本需要暫停收集器的本機(jī)庫(kù)調(diào)用期間,允許進(jìn)行某些資源回收,有助于減少延遲。
其中的原理是,在本機(jī)庫(kù)調(diào)用期間,對(duì)需要禁止的對(duì)象以及僅“固定”包含這些對(duì)象的區(qū)域進(jìn)行跟蹤。如此一來,即使是在原本會(huì)禁止本機(jī)庫(kù)調(diào)用的期間,未固定的區(qū)域也可以繼續(xù)正常進(jìn)行資源回收。
Java 22 是 Oracle 與全球 Java 開發(fā)人員社區(qū)成員通過 OpenJDK 社區(qū) 和 Java Community Process (JCP) 共同合作的成果。
Java 22 除了推出了新的增強(qiáng)功能和特性,也獲得 Java Management Service (JMS) 的支持,這是一項(xiàng)新的 Oracle 云基礎(chǔ)設(shè)施遠(yuǎn)程軟件服務(wù)(Oracle Cloud Infrastructure, OCI) 原生服務(wù),提供統(tǒng)一的控制臺(tái)和儀表盤,幫助企業(yè)管理本地或云端的 Java 運(yùn)行時(shí)和應(yīng)用。