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。


相关文章

  • AlmaLinux OS 8.5發佈 新增多項功能和改進

    AlmLinux OS 8.5發佈,它是適用於 x86_64 和 ARM 架構的穩定版本,代號爲Actic Sphynx,目前已支持下載安裝。AlmLinux作爲CentOS穩定版的替代品之一,自發行以來備受關注,本次更新也是新增多項功能和改進。 主要更新內容: 、增加新的 module stems...

  • Fedora Linux 37正式版發佈 新特性介紹

    Fedo Linux 37正式版於月5日發佈,它帶來了許多新特性和功能。Fedo版本是針對特定“市場”的旗艦產品,目前Fedo CoeOS和Fedo Cloud Bse作爲Fedo Linux官方版本。 Fedo CoeOS是一箇專門爲安全和大規模運行容器化工作負載而構建的新Fedo版本,它將Con...

  • Elementor 3.19發佈 新功能特點介紹

    Elemento迎來了最新的3.9版本,更新了很多功能,例如根據各種條件和參數顯示元素,可以從元素管理器中自定義團隊的微件面板,從而簡化協作;通過表單生成器和Akismet垃圾郵件過濾器之間的無縫集成;在Elemento模板庫中集成了AI容器的強大功能,以生成專業設計模板的內容和樣式變體等。 點擊訪...

  • DigiCert部分根證書將於2023年3月8日起逐步升級變更

    受全球知名信任庫Mozill的根證書最新信任策略(全球所有CA的可信根證書生成後最少5年更換一次,超過時間的可信根會逐漸被Mozill停止信任)影響,DigiCet部分老根證書將於2023年3月8日起逐步做變更處理。 DigiCet根證書變更詳情: 原根證書 影響使用範圍 Mozill不再信任時間 ...

  • Joomla 4.0.4和Joomla 3.10.3發佈

    Jooml是基於PHP語言和MySQL數據庫開發的內容管理系統,支持跨平臺運行,深受廣大用戶喜愛。近期Jooml發佈了Jooml 4.0.4和Jooml 3.0.3版本,它們是Jooml 4.0.x和3.0.x系列的錯誤修復版本,包含許多錯誤修復和改進,主要更新內容如下。 Jooml 4.0.4主要...

  • Debian 12.1發佈 修復了多項錯誤

    Debin 2.發佈,這是最新的Debin GNU/Linux 2 “Bookwom”操作系統的第一個ISO更新,帶來了多項錯誤修復和安全更新。 Debin 2.安裝映像可用於64位(md64)、32位(i386)、PowePC 64位Little Endin (ppc64el)、IBM Syste...

  • “元宇宙”域名meta.so以驚人價格96萬元成交

    隨着近些年來域名行業的發展,各類域名交易層出不窮,因而我們對於非.com域名的交易已經習以爲常了。各種新域名後綴經常爆出交易信息,就連一些並不日常的國別域名,也經常會曝光。這不,一枚索馬里國別域名met.so近日被爆以49,000美元成交,約合人民幣96萬元。 域名met.so的主體met,在英文裏...

  • Apache Tomcat 10.1.11發佈

    Apche Tomct是由Apche軟件基金會開發和維護的用於J編程的開源Web服務器軟件。Apche Tomct 0..版本已發佈,此版本實現了Jkt EE 0 平臺的規範。 Apche Tomct是開源的Web服務器,用戶可以很容易地從互聯網上下載並配置使用它。Tomct支持SSL協議,因此用戶...

  • 阿里雲Hologres 0.8版本實例停止服務通知

    阿里雲日前發佈了Hologes 0.8版本實例停止服務通知,請及時升級實例版本。Hologes在雲上正式商業化已有2年多時間。在這2年多的時間內,Hologes從0.8版本直到目前的.版本,共計發佈了4個產品大版本。 Hologes兼容PostgeSQL生態,是新一代的阿里雲實時數倉產品,與大數據生...

  • 慶祝Vultr VPS新增“瑞典斯德哥爾摩”數據中心

    Vult在9月6日宣佈,新增第8個數據中心,“瑞典斯德哥爾摩”成爲Vult第8個數據機房,斯德哥爾摩是瑞典的首都和第一大城市。此次Vult是通過先進的雲平臺簡化基礎設施的部署。Vult在郵件中提到斯德哥爾摩是第8個數據中心,期待在未來幾個月內引入更多數據中心。 首先,Vult在瑞典斯德哥爾摩的新地點...