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。


相关文章

  • VirMach VPS硬件全新升級 性能提高了一倍以上

    ViMch主機商相信大家應該比較熟悉了,它多年來一直專注提供經濟實惠的海外VPS租用服務。近日,ViMch VPS產品進行了全新升級,採用新的AMD Ryzen處理器、NVMe SSD存儲,服務器整體性能提高了一倍以上,價格沒有太大變化,讓大家可以享受更優質的使用和服務體驗。 ViMch從上月初便開...

  • TypeScript 5.1發佈 新功能介紹

    TypeScipt 5.正式版發佈,引入了多項新功能和改進,包括Gettes和Settes的不相關類型、JSX元素和JSX標記類型之間的解耦類型檢查、命名空間JSX屬性等等。下面一起來看下TypeScipt 5.主要更新內容介紹。 TypeScipt是一種通過添加稱爲類型的構造來構建於JScipt之...

  • Hostinger新增印度孟買數據中心

    據悉,知名主機商Hostinge近日推出新的亞太區域,在印度孟買啓動了一箇新的數據中心位置,以便更好地爲當地用戶提供服務。Hostinge印度孟買數據中心可以允許本地客戶在更靠近訪問者的地方託管他們的網站,從而減少網絡往返時間提高速度並縮短響應時間,提升整體用戶體驗。 點擊訪問:Hostinge中文...

  • WordPress 6.2.1安全版本發佈

    WodPess 6.2.安全和維護版本發佈,這是一箇短週期版本,核心團隊解決了20個錯誤修復,確保了用戶更流暢、更穩定的體驗。此外,塊編輯器還收到了0個錯誤修復,增強了其功能和響應能力。下一個主要版本WodPess 6.3計劃於2023年8月份發佈。 WodPess 6.2.是一箇安全版本,爲了保護...

  • FileZilla Server 1.3.0發佈

    FileZill是一箇免費開源的FTP軟件,分爲客戶端版本(FileZill Client)和服務器版本(FileZill See),可以在多種平臺上運行。日前,FileZill See .3.0發佈,主要更新內容如下。 新功能: 用於設置被動模式的配置嚮導 Linux:如果sysctl knob ...

  • AlmaLinux OS 9發佈 兼容RHEL的發行版

    AlmLinux OS 9穩定版正式發佈,它支持x86_64、ch64、ppc64le、s390x四種架構,提供與上游的完全奇偶校,新增多項功能和改進,包含了圍繞雲和容器開發的增強功能、對Web控制檯的改進等。 AlmLinux OS是一箇開源的、社區驅動的Linux操作系統,它與Rocky Lin...

  • Elementor 3.14版本發佈 新功能特性介紹

    Elemento 3.4版本發佈,引入了多項新功能和改進,包括一箇新的Cousel小部件,擴展了循環網格,能夠在循環中放置靜態內容,全局樣式預覽,以及大量高度要求的樣式功能和新的Elemento AI特性等等。 點擊訪問:Elemento官網 Elemento新的Cousel小部件 Elemento...

  • GitLab 15.1發佈 新增SAML羣組同步等多項功能

    GitLb 5.發佈,該版本引入了SAML羣組同步、SLSA 2級構建產品認證、CI/CD所引用內容的鏈接、通過DORA指標增強價值流的可見性等多項功能,主要更新內容如下。 自助管理GitLb的SAML組同步 現在你可以使用SAML組鏈接將身份映射到一箇自助管理版GitLb羣組。此前,這項功能只適用...

  • Elementor 3.14 Beta版本發佈 新功能搶先看

    Elemento 3.4 Bet版本發佈,該版本雖然還處於測試階段,但已引入了諸多新功能和改進,包括提供嵌套式Cousel小部件、在循環網格中定義靜態項目位置、新全局樣式預覽等。 Elemento是一款非常受歡迎的WodPess頁面編輯器插件,有免費版和付費的專業版(Po)可選,能兼容各大主流的Wo...

  • Amazon ElastiCache新的控制檯現已在所有AWS區域推出

    Amzon ElstiCche新的控制檯現已在所有AWS區域推出。新控制檯爲用戶提供了一種直觀的方式來管理ElstiCche資源,導航更簡單,上下文信息更豐富,幫助用戶更快地執行任務,另外它還提供了與其他AWS服務控制檯更一致的外觀。 新的Amzon ElstiCche控制面板提供了最重要的操作、資...