Linode

Java 19/JDK 19正式發佈 新特性介紹

Editor

J 9/JDK 9正式發佈,與JDK 8一樣,JDK 9將是一箇短期版本,只有六個月的頂級Pemie支持。之前的版本JDK 7是一箇長期支持 (LTS) 版本,提供了數年的支持。本次發佈的J 9雖然是非長期支持版本,但也帶來了許多新的特性和功能改進。

根據官方發佈的公告顯示,J 9版本帶來了七大主要功能更新,包括結構化併發、記錄模式、外部函數和內存 API 的預覽,以及對開源的 Linux/RISC-V 指令集架構(ISA)的支持。除了 Linux/RISC-V 功能,所有的功能都處於預覽或孵化階段。

405: Recod Pttens (Peiew) 422: Linux/RISC-V Pot 424: Foeign Function ∓ Memoy API (Peiew) 425: Vitul Theds (Peiew) 426: Vecto API (Fouth Incubto) 427: Ptten Mtching fo switch (Thid Peiew) 428: Stuctued Concuency (Incubto)

、結構化併發。當前還處於孵化階段,旨在通過結構化併發 API 簡化多線程編程。這種併發性將不同線程中運行的多箇任務視爲單個工作單元,從而簡化錯誤處理、提高可靠性和可觀察性。這個功能來自 Poject Loom,它引入了一箇新的輕量級併發模型。

2、記錄模式,這一功能目前也處於預覽版,主要是用來解構記錄值。記錄模式和類型模式可以被嵌套,以實現強大的、具有聲明性的和可組合的數據導航和處理形式。該提案的目標包括擴展模式匹配,用以表達更復雜的、可組合的數據查詢,同時不改變類型模式的語法或語義。該提案建立在 202 年 3 月在 JDK 6 中交付的模式匹配的基礎上。未來,Ocle 可能會要求對記錄模式進行擴展,使之具備數組模式、Vg 模式。記錄模式是 Poject Ambe 的一部分,該項目旨在探索和孵化較小的、面向生產力的 J 功能。

3、外部函數和內存 API 的預覽版。通過引入一箇 API,J 程序可以與 J 運行時之外的代碼和數據進行互操作。通過有效地調用外部函數(即 JVM 之外的代碼)和安全地訪問外部內存(即不由 JVM 管理的內存),該 API 使 J 程序能夠調用本地庫並處理本機數據,而不會出現 J 本地接口(JNI)的危險和脆弱。外部函數和內存 API 結合了兩個早期的孵化 API:外部內存訪問 API 和外部鏈接器 API。外部函數和內存 API 曾在 JDK 7 中孵化,而後在 JDK 8 中重新孵化。該提案的目標包括易用性、性能、通用性和安全性。

4、虛擬線程的預覽版。這是一種輕量級的線程,大大減少了編寫、維護和觀察高吞吐量併發應用的工作量。可以以簡單的 thed-pe-equest 風格編寫的服務器應用程序能夠以接近最佳的硬件利用率進行擴展,通過使用 j.lng Thed API 現有代碼能夠以最小的改動採用虛擬線程,並基於現有的 JDK 工具對虛擬線程進行故障診斷、調試和分析。本提案的目標不是要改變 J 的基本併發模型,也不是要在 J 語言或 J 庫中提供新的數據並行結構。它的目標也不是去除線程的傳統實現,或默默地將現有的應用程序遷移到使用虛擬線程。這項功能也是 Poject Loom 的一部分。

5、對 switch 表達式和語句的模式匹配進行了第三次預覽。這項功能以前在 JDK 7、JDK 8 中進行過預覽。這一次在 JDK 9 中將進一步細化功能,包括用 switch 塊中的 when 子句替換受保護的模式。另外,當選擇器表達式的值爲 null 時,模式切換的運行時語義與傳統的語義更加一致。這項功能也是 Ambe 項目的一部分。

6、Vecto API 的第四次孵化,將表達向量計算,在運行時可靠地編譯爲支持的 CPU 架構上的最佳向量指令,從而實現優於等效標量計算的性能。該 API 的開發者使用 HotSpot 自動矢量器,可獲得了一種在 J 中編寫複雜的向量算法的方法,但有一箇用戶模型,使向量化更可預測和穩健。Vecto API 先前已被納入 JDK 6、JDK 7 和 JDK 9。在最新的 JDK 9 中,官方爲該功能增加了兩個跨道向量操作,即壓縮和擴展,以及一箇互補的向量掩碼壓縮操作。壓縮向量操作將由掩碼選擇的源向量的通道按通道順序映射到目標向量,而擴展操作則做相反的操作。壓縮操作在過濾查詢結果時非常有用。

7、通過 Linux/RISC-V 移植,目前這一功能已正式可用。J 將獲得對硬件指令集的支持,該指令集已經被廣泛的語言工具鏈所支持。RISC-V 實際上是一系列相關的 ISA。Linux/RISC-V 端口將只支持 RISC-V 的 RV64GV 配置,這是一箇包括矢量指令的通用 64 位 ISA。J 的開發者可能會在將來考慮其他 RISC-V 的配置。

除了以上功能更新之外,最新的J版本還修復了一千多處錯誤,提高了語言的穩定性和性能。所以,有需要的朋友,現已可以升級使用J 9/JDK 9。


相关文章

  • GitLab啓用全新Logo 強調DevOps流程和無限迭代循環

    GitLb啓用全新Logo,新Logo設計突出顯示DeOps的整個流程以及閉環的無限迭代循環。作爲一箇一站式的DeOps平臺,GitLb自204年成立以來,不斷地嘗試和探索DeOps道路,它允許客戶放棄許多已經用數字管道連接在一起的單點解決方案,並將所有DeOps功能集中在一箇地方,降低了集成和維護...

  • WordPress成立20週年 多地區舉辦慶祝活動

    WodPess於2023年5月27日迎來了20歲生日,官方推出了20週年的相關紀念活動WodPess Chpte聚會,還提供有限量版禮品可以選擇。WodPess最初於2003年作爲b2/cfelog的一箇分支發佈,在其20年的旅程中已經走過了漫長的道路。多年來,它經歷了重大的發展,並引入了諸多功能改...

  • Elementor主機添加新功能 簡化協作輕鬆管理

    Elemento主機是使用Elemento構建的網站的理想主機,提供極高的性能、易用性和安全性,不僅具有實惠的價格,還能有CloudFle Entepise CDN、高級SSL和每日備份等附加功能,本文主要介紹了最近新增的三個新功能。 點擊訪問:Elemento官網選購 一、通過站點共享簡化協作並降...

  • Ubuntu 23.10測試版發佈 新功能搶先看

    Ubuntu 23.0代號爲“Mntic Minotu”,現在處於Bet階段,這個測試版包括來自Ubuntu桌面、服務器和雲產品的圖像等。Ubuntu 23.0正式版本預計於0月2日發佈,當前的測試版可以通過Ubuntu官網鏈接下載。 Ubuntu 23.0帶來了許多新功能和改進。它提供了一箇基於谷...

  • FileZilla Server 1.5.0-rc1發佈

    FileZill是一款免費開源的FTP軟件,分爲客戶端版本(FileZill Client)和服務器版本(FileZill See),具備所有的FTP軟件功能。日前,FileZill See .5.0-c發佈,引入了多項新功能,並對已發現的錯誤進行修復,主要更新內容如下。 新功能: See:在嘗試失...

  • NameSilo:現宣佈推出支付寶自動續期功能

    NmeSilo作爲一家知名國外域名註冊商,屬於ICANN認證過的域名註冊商。雖然沒有GoDddy知名度高,但是域名註冊價格便宜,而且提供免費的域名停放、免費隱私保護等功能。 日前,收到NmeSilo郵件稱,已添加支付寶爲自動續訂的付款方式,這對於國內沒有PyPl或者是信用卡支付的朋友而言是一箇非常值...

  • Krypt美國洛杉磯LAX10數據中心停電最新消息

    美國主機商Kypt位於洛杉磯LAX0的機房套間(̶Colo 4″)位於2260 W El Segundo Bld,於2023年5月2日星期日發生了一起超出合理控制範圍的事件,導致Colo 4無法運行。以下是最新的狀態報告: 機房託管:Kypt已向機房託管客戶提供了遷移環境所需的...

  • 2022年亞馬遜Prime會員日將於7月12和13日舉行 覆蓋的站點數達到24個

    跨境電商領域備受矚目的2022年亞馬遜Pime會員日(Pime Dy)將於7月2和3日舉行。據瞭解,本次會員日覆蓋的亞馬遜站點數達到24個,是歷史上最多的一次。包括中國賣家在內、來自全球的第三方賣家,將通過亞馬遜Pime會員日,爲消費者提供涵蓋各個品類的產品和超值優惠。 今年,瑞典、波蘭和埃及站點首...

  • 美國雲服務提供商DigitalOcean宣佈支持Apple Pay支付方式

    近日,美國雲服務提供商DigitlOcen宣佈支持使用Apple Py支付方式。這意味着,我們可以使用Apple Py創建DigitlOcen賬戶並將其添加到默認的支付選項。 DigitlOcen作爲一家優秀的海外服務器商,多年來致力於產品創新和服務改進,旨在簡化雲計算服務,提升用戶體驗。Digit...

  • FastComet共享主機現支持使用LiteSpeed Web服務器

    FstComet主機商多年來致力於改進產品和服務,注重新興技術的應用和用戶體驗的優化,主要提供性價比高的虛擬主機、WodPess主機、雲主機等產品。FstComet共享主機現已提供AlmLinux系統支持,爲了讓用戶享有極佳的性能體驗,將啓用LiteSpeed Web服務器來替代原有的Cchewll...