日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

JDK 24:Java 24的新功能

JDK 24:Java 24的新功能
【JDK 24:Java 24的新功能】Java 24的第一批功能包括流收集器、矢量API、類文件API、G1垃圾收集器改進(jìn)以及Java原生界面不安全使用的警告 。

在9月17日發(fā)布的Java開發(fā)工具包(JDK)23之后 , JDK 24的工作已經(jīng)開始 , 到目前為止 , 該版本提出了六個(gè)功能:刪除Z垃圾收集器中的非代模式、流收集器、矢量API、類文件API、警告開發(fā)人員為未來使用JNI(Java原生接口)的限制做好準(zhǔn)備 , 以及G1垃圾收集器的延遲屏障擴(kuò)展 。 許多其他功能 , 包括許多已經(jīng)在JDK 23中預(yù)覽的功能 , 也可以包含 。
到2025年3月18日 , JDK 24已被指定為非長(zhǎng)期支持(LTS)版本 。 與剛剛發(fā)布的JDK 23一樣 , JDK 24將僅獲得甲骨文六個(gè)月的高級(jí)級(jí)別支持 。 JDK 24的早期訪問版本可以在jdk.java.net上找到 。
為JDK 24提出的最新和第六個(gè)功能涉及刪除Z垃圾收集器(ZGC)的非生成模式 , 以降低支持兩種不同模式的維護(hù)成本 。 提案指出 , 維護(hù)非代際ZGC會(huì)減緩新功能的開發(fā) , 對(duì)于大多數(shù)用例來說 , 代際ZGC應(yīng)該是比非代際ZGC更好的解決方案 。 后者最終應(yīng)該被前者取代 , 以降低長(zhǎng)期維護(hù)成本 。 該計(jì)劃要求通過過時(shí)ZGenerational選項(xiàng)并刪除非代際ZGC代碼及其測(cè)試來刪除非代代模式 。 非代際模式將在未來版本中過期 , 屆時(shí)HotSpot JVM將無法識(shí)別它 , 后者將拒絕啟動(dòng) 。
為JDK 24提出的第五個(gè)功能是流收集器 , 它將增強(qiáng)流API以支持自定義中間操作 。 流收集器允許流管道以現(xiàn)有內(nèi)置中間操作不容易實(shí)現(xiàn)的方式轉(zhuǎn)換數(shù)據(jù) 。 此功能在JDK 22和JDK 23中作為預(yù)覽提出 。 API將在JDK 24中最終確定 。 目標(biāo)包括使流管道更加靈活和富有表現(xiàn)力 , 并允許自定義中間操作來操作無限大小的流 。
矢量API也為JDK 24提出了建議 。 在其第九次孵化中 , 矢量API旨在表達(dá)在運(yùn)行時(shí)可靠地編譯到受支持的CPU架構(gòu)上的最佳向量指令的矢量通信 , 從而實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能 。
此API之前在JDK 16到JDK 23中孵化 。 它將在JDK 24中重新孵化 , 沒有API更改 , 與JDK 23相比也沒有實(shí)質(zhì)性實(shí)現(xiàn) 。 該提案的目標(biāo)包括在與平臺(tái)無關(guān)的API中清晰簡(jiǎn)潔地表達(dá)廣泛的矢量計(jì)算 , 在x64和AArch54架構(gòu)上提供可靠的運(yùn)行時(shí)編譯和性能 , 當(dāng)矢量計(jì)算在運(yùn)行時(shí)無法表達(dá)時(shí) , 該API會(huì)優(yōu)雅地降級(jí) , 并且仍然具有功能 , 并與Project Valhalla一致 , 利用對(duì)Java對(duì)象模型的增強(qiáng)功能 。
第一個(gè)JDK 24-目標(biāo)功能 , 正式稱為“準(zhǔn)備限制JNI的使用” , 呼吁發(fā)布有關(guān)JNI使用的警告 , 并調(diào)整JDK 22中特色的外部函數(shù)和內(nèi)存(FFM)API , 以一致的方式發(fā)出警告 。 這些警告旨在為未來的版本做準(zhǔn)備 , 該版本通過統(tǒng)一限制JNI和FFM API來確保默認(rèn)的完整性 。 該計(jì)劃的目標(biāo)包括將JNI作為與本機(jī)代碼互操作的標(biāo)準(zhǔn)方式 , 為默認(rèn)不允許與本機(jī)代碼互操作的未來版本準(zhǔn)備Java生態(tài)系統(tǒng) , 并調(diào)整JNI和FFM API的使用 , 以便庫維護(hù)者可以在不需要開發(fā)人員更改命令行選項(xiàng)的情況下從一個(gè)遷移到另一個(gè) 。
第二個(gè)功能 , G1垃圾收集器的延遲屏障擴(kuò)展 , 旨在簡(jiǎn)化G1屏障的實(shí)現(xiàn) 。 G1垃圾收集器的障礙記錄有關(guān)應(yīng)用程序內(nèi)存訪問的信息 , 通過將其擴(kuò)展從C2編譯管道的早期轉(zhuǎn)移到后期 。 目標(biāo)包括在使用G1收集器時(shí)減少C2編譯的執(zhí)行時(shí)間 , 使對(duì)C2缺乏深刻理解的HotSpot開發(fā)人員能夠理解G1障礙 , 并保證C2保留內(nèi)存訪問、安全點(diǎn)和障礙的相對(duì)順序的不變性 。 第四個(gè)功能是在速度和大小方面保持C2生成的JIT(及時(shí))編譯代碼的質(zhì)量 。
第三個(gè)功能 , 類文件API , 之前在JDK 22和JDK 23中預(yù)覽 , 將在JDK 24中最終確定 , 并進(jìn)行小幅更改 。 此API提供了一個(gè)用于解析、生成和轉(zhuǎn)換Java類文件的標(biāo)準(zhǔn)API 。 它旨在提供一個(gè)用于處理類文件的API , 該API跟蹤Java虛擬機(jī)規(guī)范定義的類文件格式 。 第二個(gè)目標(biāo)是使JDK組件能夠遷移到標(biāo)準(zhǔn)API , 并最終刪除JDK對(duì)第三方ASM庫的內(nèi)部副本 。 自第二次預(yù)覽以來的更改包括重命名枚舉值、刪除一些字段、添加方法和方法過載、重命名方法以及刪除被認(rèn)為不必要的接口和方法 。
針對(duì)JDK 24的附加功能將在未來幾個(gè)月內(nèi)確定 。 潛在的Java 24功能包括在JDK 23中預(yù)覽的功能的進(jìn)一步預(yù)覽或最終發(fā)布 。 這些包括模塊導(dǎo)入聲明 , 用于簡(jiǎn)明地導(dǎo)入模塊導(dǎo)出的所有軟件包并簡(jiǎn)化模塊化庫的重復(fù)使用;結(jié)構(gòu)化并發(fā) , 以簡(jiǎn)化并發(fā)編程;范圍值 , 用于共享不可變數(shù)據(jù);以及靈活的構(gòu)造函數(shù)體 , 使開發(fā)人員在表達(dá)構(gòu)造函數(shù)行為方面有更大的自由 。
JDK 23預(yù)覽中的另一個(gè)功能 , 也是JDK 24的競(jìng)爭(zhēng)者是模式、實(shí)例和開關(guān)中的原始類型 , 其目的是通過允許在所有模式上下文中使用原始類型模式來增強(qiáng)模式匹配 , 并擴(kuò)展instanceof和switch以與所有原始類型配合使用 。 提前加載類 , 一個(gè)旨在加快Java啟動(dòng)速度的功能 , 以及字符串模板 , 一個(gè)在JDK 21和JDK 22中預(yù)覽但從JDK 23中刪除的功能 , 也可以針對(duì)JDK 24 。
最近的LTS版本JDK 21于2023年9月發(fā)布 , 將獲得甲骨文至少五年的Premier支持 。 下一個(gè)LTS版本JDK 25將于2025年9月到期 。 LTS版本主導(dǎo)了Java的采用 , 這意味著隨著用戶等待JDK 25 , JDK 23和JDK 24的采用可能是低端的 。

    推薦閱讀