【ITBEAR科技資訊】3月22日消息,今天,OpenJDK Java 20 正式發(fā)布,達(dá)到全面可用性(GA)狀態(tài)。這意味著開發(fā)人員、最終用戶和企業(yè)可以下載和使用該版本。Java 20 引入了作用域(scope)值作為孵化 API,以允許在線程內(nèi)和線程間共享不可變數(shù)據(jù),并且優(yōu)先于線程局部變量。Java 作用域值旨在易于使用、易于理解、增強(qiáng)可靠性且高性能。作用域值是一種新的語(yǔ)言結(jié)構(gòu),它允許聲明一個(gè)只能在當(dāng)前范圍(extent)內(nèi)訪問的變量。一個(gè)范圍是一個(gè)代碼塊或一個(gè)方法調(diào)用棧,它可以包含多個(gè)線程。作用域值只能被當(dāng)前范圍內(nèi)的代碼讀取,不能被其他范圍內(nèi)的代碼讀取或修改。因此,作用域值是不可變的,并且可以安全地在線程之間共享。
Java 20 還對(duì) Vector API 進(jìn)行了第四次孵化更新,以便在運(yùn)行時(shí)編譯為支持的 CPU 架構(gòu)上的最佳 vector 指令。與 JDK 19 相比,Java 20 的 Vector API 沒有變化,只是修復(fù)了一些錯(cuò)誤 Bug 并提高了性能。據(jù)ITBEAR科技資訊了解,Vector API 是一種適用于向量化計(jì)算的低級(jí)別 API,它提供了可移植的直接硬件訪問,以便在現(xiàn)代多核 CPU 和協(xié)處理器中加速向量化計(jì)算。Vector API 還提供了一種基于 JVM 的、跨硬件平臺(tái)的解決方案,用于編寫高效的數(shù)學(xué)庫(kù)和數(shù)據(jù)密集型應(yīng)用程序。
Java / JDK 20 的第二個(gè)預(yù)覽形式是虛擬線程功能,作為高吞吐量并發(fā)應(yīng)用程序的輕量級(jí)線程。JDK 19 上的虛擬線程有一些小的 API 更改以及此預(yù)覽功能的其他基本改進(jìn)。虛擬線程功能使應(yīng)用程序可以在 JVM 上啟動(dòng)數(shù)百萬個(gè)線程,同時(shí)只使用少量的內(nèi)存和操作系統(tǒng)線程。據(jù)ITBEAR科技資訊了解,虛擬線程使用協(xié)作式多任務(wù)處理模型,這意味著它們不會(huì)阻塞操作系統(tǒng)線程,從而提高了應(yīng)用程序的并發(fā)性能。
新版本還對(duì)記錄模式、switch 語(yǔ)句的模式匹配、外部函數(shù)和內(nèi)存 API 以及 JDK / Java 20 的結(jié)構(gòu)化并發(fā)進(jìn)行了更新。Oracle 現(xiàn)在為開發(fā)人員、最終用戶和企業(yè)提供 JDK 20。