Oracle推出Java 21,擴展支持路線(xiàn)圖

業(yè)界
TIME
2023-09-20 19:10
中關(guān)村在線(xiàn)
分享

  Oracle 正式發(fā)布 Java 21,這是備受歡迎的編程語(yǔ)言和開(kāi)發(fā)平臺推出的全新版本。Java 21 (Oracle JDK 21) 在性能、穩定性和安全性方面進(jìn)行了諸多改進(jìn),包括進(jìn)一步優(yōu)化平臺的增強功能,以幫助開(kāi)發(fā)人員提高工作效率,推動(dòng)企業(yè)創(chuàng )新。

  甲骨文公司 Java 平臺開(kāi)發(fā)高級副總裁兼 OpenJDK Governing Board 主席 Georges Saab 表示:“Java 一直是全球企業(yè)乃至數百萬(wàn)名個(gè)人用戶(hù)所選擇的語(yǔ)言和平臺,賦予開(kāi)發(fā)人員構建新一代強大、可擴展且安全的應用的能力。Java 21 全新的增強功能可支持開(kāi)發(fā)人員更快地構建應用。此外,商業(yè)支持有至少八年,客戶(hù)能夠按照自己的步伐進(jìn)行遷移?!?/p>

  全新版本的 Java 開(kāi)發(fā)工具包 (JDK) 提供 15 個(gè) JDK 增強建議 (JEPs) 的更新和改進(jìn)。JDK 21 將提供來(lái)自 OpenJDK Project Amber 的語(yǔ)言改進(jìn)(String Templates、Record Patterns、Pattern Matching for Switch、Unnamed Patterns and Variables 以及Unnamed Classes 和 Instance Main Methods);來(lái)自 Project Panama 的增強功能(Foreign Function 和 Memory API 以及 Vector API);有關(guān) Project Loom的功能(Virtual Threads、Scoped Values 和 Structured Concurrency);以及維護和棄用功能(Deprecate the 32-bit x86 Port for Removal 以及 Prepare to Disallow the Dynamic Loading of Agents)。

  RedMonk 首席分析師兼聯(lián)合創(chuàng )始人 Stephen O'Grady 表示:“現在,盡管市面上有那么多流通的語(yǔ)言,但 Java 仍然無(wú)處不在。隨著(zhù)世界的發(fā)展,Java 的適應能力將發(fā)揮重要作用,繼續為開(kāi)發(fā)人員提供價(jià)值?!?/p>

  Oracle 將為 Java 21 提供至少八年的長(cháng)期支持。延長(cháng)支持期可為企業(yè)提供一定的靈活性,在將應用保留在生產(chǎn)環(huán)境中時(shí)盡可能減少維護工作量,并按企業(yè)自己的方式來(lái)進(jìn)行遷移。根據客戶(hù)反饋和 Java 生態(tài)系統中的使用情況,Oracle 決定將 Java 11 長(cháng)期支持延長(cháng)至 2032 年 1 月,這意味著(zhù)支持和更新服務(wù)時(shí)間增加了至少 8 年。

  Java 21 提供的重要更新包括:

  Project Loom 的功能

  · JEP 444:Virtual Threads — 通過(guò)向 Java 平臺引入輕量級虛擬線(xiàn)程,顯著(zhù)減少編寫(xiě)、維護和觀(guān)察高吞吐量并發(fā)應用的工作量。虛擬線(xiàn)程讓開(kāi)發(fā)人員可以輕松使用現有的 JDK 工具和技術(shù),對并發(fā)應用進(jìn)行故障排除、調試、分析以及擴展,進(jìn)而加快應用開(kāi)發(fā)速度。

  · JEP 446:Scoped Values(預覽版)— 支持用戶(hù)在線(xiàn)程內和跨線(xiàn)程共享不可變數據。這可提高開(kāi)發(fā)項目的易用性全面性、可靠性和性能。

  · JEP 453:Structured Concurrency(預覽版)— 通過(guò)引入結構化并發(fā)的 API 來(lái)簡(jiǎn)化并發(fā)編程,有助于推廣并發(fā)編程風(fēng)格,消除取消和關(guān)閉所帶來(lái)的常見(jiàn)風(fēng)險(例如線(xiàn)程泄漏和取消延遲),并提高并發(fā)代碼的可觀(guān)測性。這可幫助開(kāi)發(fā)人員簡(jiǎn)化錯誤處理和取消工作,并提高可靠性和可觀(guān)測性。

  性能更新

  · JEP 439:Generational ZGC — 擴展 Z Garbage Collector (ZGC) 來(lái)區分新舊對象的層代,以提高應用性能。GenerationalZGC 可以減少應用所需的堆內存和垃圾收集 CPU 的間接費用,并降低分配停滯的風(fēng)險,有助于提高開(kāi)發(fā)人員的工作效率。

  語(yǔ)言更新和改進(jìn)

  · JEP 430:String Templates(預覽版)— 通過(guò)使包含運行時(shí)計算值的字符串更容易表達,簡(jiǎn)化 Java 程序的開(kāi)發(fā)工作,并提高將用戶(hù)提供的值編寫(xiě)成字符串,并將字符串傳遞給其他系統的程序的安全性。此外,該特性還可增強參雜了表達式和文本的表達式的可讀性,創(chuàng )建通過(guò)文字文本和嵌入表達式計算的非字符串值,而無(wú)需通過(guò)中間字符串表示形式傳遞。通過(guò)提高 Java 語(yǔ)言的可讀性、可寫(xiě)性和可維護性,開(kāi)發(fā)人員的工作效率也將隨之提升。

  · JEP 440: Record Patterns(第三預覽版)— 擴展模式匹配以解構記錄類(lèi)的實(shí)例,并支持添加嵌套模式,以此增強 Java 語(yǔ)言。這有助于開(kāi)發(fā)人員擴展模式匹配,以實(shí)現更復雜和可定制的數據查詢(xún),從而提高工作效率。

  · JEP 441:Pattern Matching for Switch — 支持在案例標簽中顯示模式,進(jìn)而增強 switch 表達式和語(yǔ)句的表達性和適用性。此外,要求模式switch 語(yǔ)句包含所有可能的輸入值,以提高 switch 語(yǔ)句的安全性;確保所有現有的 switch 表達式和語(yǔ)句都可以繼續編譯而不進(jìn)行任何更改,并使用相同的語(yǔ)義執行。這將使 Java 語(yǔ)言更加語(yǔ)義化,以簡(jiǎn)潔、安全的方式表達面向數據的復雜查詢(xún),有助于開(kāi)發(fā)人員簡(jiǎn)化項目并提高項目的可靠性。

  · JEP 443:Unnamed Patterns and Variables(第三預覽版)— 啟用未命名模式,無(wú)需設置組件的名稱(chēng)或類(lèi)型即可匹配記錄組件,并支持可初始化但未被使用的未命名變量,以此增強Java 語(yǔ)言。這有助于提高記錄模式的可讀性以及所有代碼的可維護性,進(jìn)而簡(jiǎn)化開(kāi)發(fā)過(guò)程。

  · JEP 445:Unnamed Classes and Instance Main Methods(預覽版)— 簡(jiǎn)化并提高 Java 語(yǔ)言的可訪(fǎng)問(wèn)性,讓教育工作者可以循序漸進(jìn)地講解編程的概念。避免向初學(xué)者介紹不同的 Java 方言和工具鏈,并使用支持任何 Java 程序的工具來(lái)整合和運行學(xué)生程序,進(jìn)而幫助學(xué)生以簡(jiǎn)潔的方式編寫(xiě)基礎程序,并隨著(zhù)技能的提升,寫(xiě)出更好的代碼。學(xué)生開(kāi)發(fā)人員無(wú)需了解為大型程序設計的語(yǔ)言功能,即可編寫(xiě)他們的第一個(gè)程序,提高了工作效率。

  Project Panama 預覽版特性

  · JEP 434: Foreign Function & Memory API(第三預覽版)— 新推出的 API 使Java 程序更容易與 Java 運行時(shí)之外的代碼和數據進(jìn)行互操作。通過(guò)有效調用外部函數(即 Java Virtual Machine [JVM] 之外的代碼),以及安全地訪(fǎng)問(wèn)外部?jì)却妫床皇躂VM 管理的內存),這個(gè)新的 API 支持 Java 程序在無(wú)需 Java Native Interface 的情況下調用本地庫和處理原生數據,從而為開(kāi)發(fā)人員提高了易用性、靈活性、性能和安全性。

  · JEP 438:Vector API (六次孵化階段)— 新推出的 API 允許以一種在運行時(shí),可靠地編譯為支持的 CPU 架構上的向量指令方式表達向量計算,為開(kāi)發(fā)人員提供能夠清晰和簡(jiǎn)潔地表達各種矢量計算的API,進(jìn)而提高項目性能。

  Java 21 是Oracle 工程師與全球 Java 開(kāi)發(fā)人員社區成員通過(guò) OpenJDK 社區 和 Java Community Process (JCP) 共同合作的成果。Java21 除了推出了新的增強功能,也獲得 Java Management Service (JMS) 的支持,這是一項新的 Oracle 云基礎設施遠程軟件服務(wù)(Oracle Cloud Infrastructure, OCI)原生服務(wù),提供統一的控制臺和儀表盤(pán),幫助企業(yè)管理本地或云端的 Java 運行時(shí)和應用程序。

  云技術(shù)創(chuàng )新賦能全球 Java 生態(tài)系統

  部署在 OCI 中的 Java 可提供出色的性能、效率和創(chuàng )新,而 OCI 也是率先支持 Java21 的大規模云技術(shù)平臺。通過(guò)在 OCI 上運行 Java,企業(yè)上下都可以享有優(yōu)勢,包括降低運營(yíng)成本,無(wú)需支付額外費用即可提高性能,以及對現有 Java 應用進(jìn)行現代化或利用新的特性和功能來(lái)構建新應用。OracleJava SE、Oracle Graal VM 和 Java SE Subscription Enterprise Performance Pack 通過(guò)OCI 免費為客戶(hù)提供服務(wù),助力開(kāi)發(fā)人員構建和部署速度更快、更出色且經(jīng)過(guò)優(yōu)化的應用。

  Oracle Java Universal SE Subscription 是一種按量計費產(chǎn)品,為客戶(hù)提供優(yōu)質(zhì)的服務(wù),包括對整個(gè)Java 產(chǎn)品組合的分類(lèi)支持,GraalVM 授權、Java SE Subscription Enterprise Performance Pack、訪(fǎng)問(wèn) Java Management Service 增強功能以及按業(yè)務(wù)計劃進(jìn)行升級的靈活性。這有助于 IT 組織管理復雜性、控制成本并降低安全風(fēng)險。

  全球 Java 社區喜迎 Java 21

  Agile Developer創(chuàng )始人 Venkat Subramaniam 博士表示:“Java21 是 Java 非常重要的版本之一,虛擬線(xiàn)程將改變我們開(kāi)發(fā)和部署異步應用的方式,其中包括從微服務(wù)到企業(yè)應用。開(kāi)發(fā)人員只需進(jìn)行少量的編碼工作,就可以擴展所開(kāi)發(fā)的應用,以支持大量IO 操作和服務(wù)調用,并且不會(huì )產(chǎn)生不當的資源需求。對于在生產(chǎn)環(huán)境中依賴(lài) Java 的企業(yè)而言,能夠以更低的成本擴展規模是一大優(yōu)勢?!?/p>

  美國德魯大學(xué)(Drew University)教授 Barry Burd 表示:“我對 Java21 中的 'Unnamed Classes and Instance Main Methods' 預覽功能感到很激動(dòng)。在我的概況課程中,學(xué)生可以快速、輕松地開(kāi)始學(xué)習。在我的書(shū)中,我可以提供完整的例子,而不是樣板代碼。特別是這些新功能與Java 的總體設計理念相呼應。未命名的類(lèi)將加入未命名的程序包和模塊表的行列,而且還可以向后兼容?!?/p>

  Java Champion 獲獎?wù)?Jeanne Boyarsky 表示:“Java 21 的順序集合 (sequenced collections) 功能,對開(kāi)發(fā)人員社區而言是重要的補充。開(kāi)發(fā)人員再也不需要擔心依賴(lài)JUnit 測試中的出現順序 (encounter order),他們只需在構建服務(wù)器、升級或其他地方尋找問(wèn)題源頭。順序集合將能夠定義順序— 這意味著(zhù)不會(huì )出現意外狀況?!?/p>

  Java Playground 和社區貢獻合力擴展 Dev.java

  Dev.java 是面向 Java 開(kāi)發(fā)人員的官方網(wǎng)站。Oracle 將在內容目錄中再添加 Java Playground 和新的社區貢獻。

  Java Playground 是一個(gè)在線(xiàn)沙盒,無(wú)需本地運行時(shí)或 IDE 即可鍵入和運行小型Java 代碼片段?,F在,開(kāi)發(fā)人員可以通過(guò)瀏覽器,快速試用由 OCI 提供支持的 Java 21 中的新功能。

  Dev.java 提供了由Oracle Java 團隊精心準備的數百個(gè)高質(zhì)量 Java 教程,適合所有技能級別的開(kāi)發(fā)人員。Dev.java 也通過(guò) Java GitHub 組織內部一個(gè)新的公共存儲庫接受社區貢獻。

  開(kāi)發(fā)人員可以享有眾多業(yè)界名人的社區貢獻,其中包括 Venkat Subramaniam 博士、Cay Horstmann、Jeanne Boyarsky、Heinz Kabutz、Paul Anderson 以及 Gail Anderson 等人。

THE END
免責聲明:本文系轉載,版權歸原作者所有;刊載之目的為傳播更多信息,如內容不適請及時(shí)通知我們。

相關(guān)熱點(diǎn)

  新華社天津9月19日電(記者白佳麗、宋瑞)19日,第二屆全國技能大賽在天津閉幕。來(lái)自全國各地各行業(yè)的大國工匠、勞動(dòng)模范、全國技術(shù)能手等作為頒獎嘉賓,為本屆大賽獲金、...
業(yè)界
  9月18日,杭州第19屆亞運會(huì )開(kāi)幕式完成最后一次全要素彩排?! 】偱_央視記者 曹巖:從8月29日到今天,本次亞運會(huì )開(kāi)幕式進(jìn)行了5次正式彩排,秉持“簡(jiǎn)約、安全、精彩”的方...
娛樂(lè )

相關(guān)推薦

1
3
人人狠狠综合久久亚洲88_国产超薄丝袜足底脚交国产_日本wvvw高清中文字幕_97国产品香蕉在线观看