甲骨文中國今日正式揭曉了Java編程語言的最新版本——Java 24(Oracle JDK 24)。這一里程碑式的發(fā)布,標(biāo)志著Java平臺迎來了數(shù)千項(xiàng)改進(jìn)和20多項(xiàng)新功能,其中特別強(qiáng)調(diào)了AI與后量子密碼學(xué)的集成。
在Java 24中,開發(fā)人員將能夠借助全新的AI和后量子密碼功能,輕松構(gòu)建出前沿的AI應(yīng)用。新特性不僅豐富了Java的生態(tài)系統(tǒng),還進(jìn)一步提升了其作為企業(yè)級開發(fā)平臺的價值。
語言方面,Java 24引入了多項(xiàng)重大更新。例如,JEP 488通過第二預(yù)覽版的發(fā)布,使得模式匹配、instanceof和switch語句對基元類型的支持更加全面,提升了代碼的表達(dá)能力和開發(fā)效率。JEP 492則帶來了構(gòu)造函數(shù)體的靈活性提升,通過兩個不同階段的序言和表述,讓代碼更加可靠。JEP 494讓模塊導(dǎo)入聲明更加便捷,簡化了模塊化庫的重用,使得開發(fā)人員能夠更輕松地集成AI推理、庫或服務(wù)調(diào)用。JEP 495則專注于簡化Java編程的入門過程,通過簡化源代碼文件結(jié)構(gòu),加快了新手的學(xué)習(xí)速度。
在庫功能方面,Java 24也進(jìn)行了諸多創(chuàng)新。JEP 485推出的Stream Gatherers增強(qiáng)了Stream API,支持自定義中間操作,提高了代碼的可讀性和維護(hù)性。JEP 484則通過提供標(biāo)準(zhǔn)的類文件API,簡化了Java類文件的解析、生成和轉(zhuǎn)換過程。JEP 487的Scoped Values功能則允許開發(fā)人員在線程內(nèi)和線程之間共享不可變數(shù)據(jù),提升了項(xiàng)目的性能和穩(wěn)健性。JEP 489的Vector API進(jìn)入第九次孵化階段,為向量計(jì)算提供了高效支持,尤其適用于AI推理和計(jì)算場景。JEP 499的結(jié)構(gòu)化并發(fā)API則簡化了并發(fā)編程,提高了多線程代碼的可維護(hù)性和可靠性。
安全方面,Java 24同樣不遺余力。JEP 478的密鑰派生函數(shù)API為數(shù)據(jù)在傳輸中的加密安全提供了保障,為應(yīng)對量子計(jì)算環(huán)境做好了準(zhǔn)備。JEP 496和JEP 497則分別支持了基于模塊晶格的密鑰封裝機(jī)制和數(shù)字簽名算法,為Java應(yīng)用提供了抗量子的安全保障,標(biāo)志著Java平臺在后量子加密技術(shù)方面的重大進(jìn)步。
工具鏈方面,Java 24也帶來了效率提升。JEP 493允許jlink工具在不使用JMOD文件的情況下創(chuàng)建定制運(yùn)行時映像,顯著減小了JDK的大小。JEP 450的實(shí)驗(yàn)性Compact Object Headers特性在64位架構(gòu)上減少了對象標(biāo)頭的大小,提高了堆的效率和數(shù)據(jù)局部性。JEP 475的G1垃圾收集器優(yōu)化則通過晚期屏障擴(kuò)展降低了開銷。JEP 483的提前類加載與鏈接功能則縮短了應(yīng)用的啟動時間。
在性能和運(yùn)行時更新方面,Java 24還刪除了ZGC的非分代模式(JEP 490),提高了虛擬線程的可擴(kuò)展性(JEP 491),并通過實(shí)驗(yàn)性的分代收集功能增強(qiáng)了Shenandoah垃圾收集器(JEP 404)。Java 24還刪除了對Windows 32位x86端口的支持(JEP 479),并計(jì)劃在未來的版本中棄用32位x86端口(JEP 501),以簡化JDK的構(gòu)建和測試架構(gòu)。
Oracle在Java 24中還強(qiáng)調(diào)了安全特性的現(xiàn)代化,逐步棄用和刪除不安全的特性。例如,JEP 472計(jì)劃限制JNI的使用,JEP 486永久禁用了安全管理器,JEP 498則在使用sun.misc.Unsafe中的內(nèi)存訪問方法時發(fā)出警告。這些措施旨在保持Java的完整性和遵循軟件開發(fā)優(yōu)秀實(shí)踐。