国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java/JDK 21正式發(fā)布!15個(gè)特性一覽

這篇具有很好參考價(jià)值的文章主要介紹了Java/JDK 21正式發(fā)布!15個(gè)特性一覽。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

JDK 21已經(jīng)于2023年9月19日正式發(fā)布。本文總結(jié)了JDK 21發(fā)布的新特性。

發(fā)布版本說(shuō)明

根據(jù)發(fā)布的規(guī)劃,這次發(fā)布的 JDK 21 將是一個(gè)長(zhǎng)期支持版(LTS 版)。LTS 版每 2 年發(fā)布一個(gè),上一次長(zhǎng)期支持版是 21 年 9 月發(fā)布的 JDK 17。

本版本是Java SE平臺(tái)21版的參考實(shí)現(xiàn),由Java社區(qū)流程中的JSR 396指定。

安裝包下載

主要分為OpenJDK版本和Oracle版本,下載地址如下:

  • OpenJDK版本:https://jdk.java.net/21/
  • Oracle版本:https://www.oracle.com/java/technologies/downloads/

上述版本,如果是個(gè)人學(xué)習(xí)用途,則差異不大。但如果是用于商業(yè)用途,則需要仔細(xì)看好相關(guān)的授權(quán)。Oracle JDK商用需要遵循 Oracle No-Fee Terms and Conditions (NFTC)協(xié)議,而OpenJDK根據(jù)GPL v2許可獲得許可。

更多有關(guān)Java的基本知識(shí),可以參閱《Java核心編程》這本書(shū),描述的非常詳細(xì)。

JDK 21 新特性說(shuō)明

正式穩(wěn)定功能

JEP 431:序列集合

序列集合(Sequenced Collections)在 core-libs/java.util:collections 包中。

該 JEP 提議引入“一個(gè)新的接口族,用于表示集合的概念,這些集合的元素按照預(yù)定義的序列或順序排列,它們是作為集合的結(jié)構(gòu)屬性。”這一提案的動(dòng)機(jī)是由于集合框架中缺乏預(yù)定義的順序和統(tǒng)一的操作集。

JEP 439:分代 ZGC

分代 ZGC(Generational ZGC)在 hotspot/gc 包中。

通過(guò)擴(kuò)展Z垃圾回收器(ZGC)來(lái)維護(hù)年輕對(duì)象和年老對(duì)象的獨(dú)立生成,從而提高應(yīng)用程序性能。這將使ZGC能夠更頻繁地收集年輕對(duì)象——這些對(duì)象往往英年早逝。

JEP 440:記錄模式

使用記錄模式(Record Patterns)增強(qiáng)Java編程語(yǔ)言,以解構(gòu)記錄值??梢郧短子涗浤J胶皖愋湍J剑詫?shí)現(xiàn)功能強(qiáng)大、聲明性和可組合形式的數(shù)據(jù)導(dǎo)航和處理。

JEP 441:switch 模式匹配

通過(guò)switch表達(dá)式和語(yǔ)句的模式匹配來(lái)增強(qiáng)Java編程語(yǔ)言。通過(guò)將模式匹配擴(kuò)展到switch,可以針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有一個(gè)特定的操作,從而可以簡(jiǎn)潔、安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。

JEP 444:虛擬線程

將虛擬線程(Virtual Threads)引入Java平臺(tái)。虛擬線程是輕量級(jí)線程,可以顯著減少編寫(xiě)、維護(hù)和觀察高吞吐量并發(fā)應(yīng)用程序的工作量。

詳見(jiàn)《Java下一代高并發(fā)技術(shù)——虛擬線程(Virtual Threads)》。

JEP 449:棄用 Windows 32 位 x86 移植

棄用Windows 32位x86移植,并打算在將來(lái)的版本中將其刪除。

JEP 451:準(zhǔn)備禁止動(dòng)態(tài)加載代理

將代理動(dòng)態(tài)加載到正在運(yùn)行的JVM中時(shí)發(fā)出警告。這些警告旨在讓用戶為將來(lái)的版本做好準(zhǔn)備,該版本默認(rèn)情況下不允許動(dòng)態(tài)加載代理,以提高默認(rèn)情況下的完整性。在啟動(dòng)時(shí)加載代理的可服務(wù)性工具不會(huì)導(dǎo)致在任何版本中發(fā)出警告。

JEP 452:密鑰封裝機(jī)制 API

介紹一種用于密鑰封裝機(jī)制(Key Encapsulation Mechanism,簡(jiǎn)稱KEM)的API,這是一種使用公鑰加密來(lái)保護(hù)對(duì)稱密鑰的加密技術(shù)。

預(yù)覽階段功能

JEP 430:字符串模板(預(yù)覽)

使用字符串模板(String Templates)增強(qiáng)Java編程語(yǔ)言。字符串模板通過(guò)將文本與嵌入的表達(dá)式和模板處理器耦合來(lái)生成專門的結(jié)果,從而補(bǔ)充Java現(xiàn)有的字符串文本和文本塊。這是一個(gè)預(yù)覽語(yǔ)言功能和API。

JEP 442:外部函數(shù)和內(nèi)存 API(第三次預(yù)覽)

引入API,Java程序可以通過(guò)該API與Java運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過(guò)有效地調(diào)用外部函數(shù)(即JVM外部的代碼),并通過(guò)安全地訪問(wèn)外部?jī)?nèi)存(即不受JVM管理的內(nèi)存),API使Java程序能夠調(diào)用本機(jī)庫(kù)并處理本機(jī)數(shù)據(jù),而不會(huì)出現(xiàn)JNI的脆弱性和危險(xiǎn)性。這是一個(gè)預(yù)覽API。

JEP 443:未命名模式和變量(預(yù)覽)

使用未命名模式和未命名變量來(lái)增強(qiáng)Java語(yǔ)言,未命名模式匹配記錄組件而不說(shuō)明組件的名稱或類型,未命名變量可以初始化但不使用。兩者都用下劃線字符_表示。這是一個(gè)預(yù)覽語(yǔ)言功能。

JEP 445:未命名類和實(shí)例主方法(預(yù)覽)

發(fā)展Java語(yǔ)言,使學(xué)生無(wú)需理解為大型程序設(shè)計(jì)的語(yǔ)言功能即可編寫(xiě)第一個(gè)程序。學(xué)生們不用使用單獨(dú)的Java方言,就可以為單類程序編寫(xiě)精簡(jiǎn)的聲明,然后隨著技能的發(fā)展,無(wú)縫地?cái)U(kuò)展程序,使用更高級(jí)的功能。這是一個(gè)預(yù)覽語(yǔ)言功能。

JEP 446:作用域值(預(yù)覽)

引入作用域值,這些值可以在不使用方法參數(shù)的情況下安全有效地共享給方法。它們優(yōu)先于線程化局部變量,尤其是在使用大量虛擬線程時(shí)。這是一個(gè)預(yù)覽API。

實(shí)際上,作用域值是一個(gè)隱式方法參數(shù)。這“就好像”一系列調(diào)用中的每個(gè)方法都有一個(gè)額外的、不可見(jiàn)的參數(shù)。沒(méi)有任何方法聲明此參數(shù),只有能夠訪問(wèn)作用域值對(duì)象的方法才能訪問(wèn)其值(數(shù)據(jù))。通過(guò)作用域值,可以通過(guò)一系列中間方法將數(shù)據(jù)從調(diào)用者安全地傳遞給遙遠(yuǎn)的被調(diào)用者,這些中間方法不聲明數(shù)據(jù)的參數(shù),也無(wú)法訪問(wèn)數(shù)據(jù)。

JEP 453:結(jié)構(gòu)化并發(fā)(預(yù)覽)

通過(guò)引入用于結(jié)構(gòu)化并發(fā)(Structured Concurrency)的API來(lái)簡(jiǎn)化并發(fā)編程。結(jié)構(gòu)化并發(fā)將在不同線程中運(yùn)行的相關(guān)任務(wù)組視為單個(gè)工作單元,從而簡(jiǎn)化錯(cuò)誤處理和消除,提高可靠性,并增強(qiáng)可觀察性。這是一個(gè)預(yù)覽API。

孵化階段功能

JEP 448:Vector API(孵化器第六階段)

引入API來(lái)表示向量計(jì)算,這些向量計(jì)算在運(yùn)行時(shí)可靠地編譯為支持的CPU架構(gòu)上的最佳向量指令,從而實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-713605.html

參考引用

  • 本文同步至: https://waylau.com/jdk-21-released/
  • https://waylau.com/jdk-17-released/
  • https://waylau.com/jdk-16-released/
  • https://waylau.com/jdk-15-released/
  • https://waylau.com/jdk-14-released/
  • 《Java核心編程》
  • 開(kāi)源項(xiàng)目“現(xiàn)代Java案例大全” https://github.com/waylau/modern-java-demos

到了這里,關(guān)于Java/JDK 21正式發(fā)布!15個(gè)特性一覽的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java基礎(chǔ)系列】JDK21新特性

    【Java基礎(chǔ)系列】JDK21新特性

    ??????歡迎來(lái)到我的博客,很高興能夠在這里和您見(jiàn)面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識(shí),也可以暢所欲言、分享您的想法和見(jiàn)解。 推薦:kuan 的首頁(yè),持續(xù)學(xué)習(xí),不斷總結(jié),共同進(jìn)步,活到老學(xué)到老 導(dǎo)航 檀越劍指大廠系列:全面總

    2024年02月04日
    瀏覽(22)
  • Java_JDK8到JDK21各版本發(fā)行時(shí)間及重要特性

    2022年Spring6和SpringBoot3相繼推出,在此之前,Java社區(qū)一直是\\\"新版任你發(fā),我用Java 8\\\",不管新版本怎么出,很少有人愿意升級(jí)。 這一次,Spring 直接來(lái)了個(gè)大招,SpringBoot3和Spring6的最低依賴就是JDK17!跨過(guò) JDK 8-16,直接升級(jí)到 JDK 17。那么為什么是 JDK 17呢? 為什么是JDK17這么多新

    2024年01月19日
    瀏覽(37)
  • 【Java】JDK 21中的虛擬線程以及其他新特性

    【Java】JDK 21中的虛擬線程以及其他新特性

    ? 目錄 一、字符串模板(String Templates) 二、序列化集合(Sequenced Collections) 三、分代ZGC(Generational ZGC) 四、記錄模式(Record Patterns) 五、Fibers(纖程) 結(jié)論 JDK 21是Java開(kāi)發(fā)工具包的最新版本,它引入了許多令人振奮的新特性,旨在提高開(kāi)發(fā)人員的生產(chǎn)力和代碼質(zhì)量。在本

    2024年02月08日
    瀏覽(25)
  • 【Java基礎(chǔ)-JDK21新特性】它發(fā)任它發(fā),我用java8

    【Java基礎(chǔ)-JDK21新特性】它發(fā)任它發(fā),我用java8

    ??????歡迎來(lái)到我的博客,很高興能夠在這里和您見(jiàn)面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識(shí),也可以暢所欲言、分享您的想法和見(jiàn)解。 推薦:kuan 的首頁(yè),持續(xù)學(xué)習(xí),不斷總結(jié),共同進(jìn)步,活到老學(xué)到老 導(dǎo)航 檀越劍指大廠系列:全面總

    2024年02月08日
    瀏覽(25)
  • 走近JDK 17,探索最新Java特性,擁抱未來(lái)編程!

    走近JDK 17,探索最新Java特性,擁抱未來(lái)編程!

    大家好,我是小米,一個(gè)熱愛(ài)技術(shù)分享的程序員。今天,我將為大家介紹一下JDK 17的新特性。JDK 17是Java開(kāi)發(fā)工具包的一個(gè)重要版本,其中包含了許多令人激動(dòng)的新功能和改進(jìn)。在這篇文章中,我將詳細(xì)介紹JDK 17中的各項(xiàng)特性,并說(shuō)明它們?cè)陔娚虘?yīng)用場(chǎng)景中的應(yīng)用。 密封類(

    2024年02月11日
    瀏覽(23)
  • JDK21新特性

    JDK21新特性

    JDK8新特性 JDK9新特性 JDK10新特性 JDK11新特性 JDK12新特性 JDK13新特性 JDK14新特性 JDK15新特性 JDK16新特性 JDK17新特性 JDK18新特性 JDK19新特性 JDK20新特性 JDK21新特性 JDK 21 于 2023 年 9 月 19 日 發(fā)布,這是一個(gè)非常重要的版本,里程碑式。 JDK21 是 LTS(長(zhǎng)期支持版),至此為止,目前有

    2024年02月22日
    瀏覽(24)
  • JDK8,JDK11,JDK17,JDK21及中間版本主要更新特性

    JDK8,JDK11,JDK17,JDK21及中間版本主要更新特性

    官方地址: https://www.oracle.com/java/technologies/java-se-support-roadmap.html 從上圖可以很清晰得可以看出,JDK7,JDK8,JDK11,JDK17,JDK21是長(zhǎng)期維護(hù)的版本。從目前來(lái)看,JDK8到2023年已經(jīng)有將近10年的歷史了,大多數(shù)依據(jù)JDK8的相關(guān)技術(shù)內(nèi)容已經(jīng)很成熟了,但是大家也看到,JDK在不斷地迭代,JD

    2024年02月21日
    瀏覽(24)
  • JDK8、JDK11、JDK17和JDK21這幾個(gè)版本更新的主要特性

    JDK8、JDK11、JDK17和JDK21這幾個(gè)版本更新的主要特性

    JDK8 是 Java 的一個(gè)重大更新版本,引入了一系列新特性和改進(jìn),主要包括: Lambda 表達(dá)式: Lambda 表達(dá)式允許我們以簡(jiǎn)潔、函數(shù)式的方式編寫(xiě)代碼,使代碼更易于理解和維護(hù)。- Stream API : Stream API 提供了一套聲明式處理數(shù)據(jù)的方式,使得對(duì)集合和數(shù)組的操作更加直觀和高效。

    2024年04月29日
    瀏覽(23)
  • 【收藏】35個(gè)JDK 21新特性(含示例代碼)

    2024年威哥攜三位兄弟,Mask、強(qiáng)哥、索尓一起探索Java?JDK21 LTS版,JDK 21 帶來(lái)了一些令人興奮的新特性和改進(jìn),總結(jié)了一些自己的筆記,分享給大家,本文將介紹其中一些重要的內(nèi)容,并提供相應(yīng)的示例代碼以幫助讀者更好地理解,閱讀全文需要花費(fèi)你10分鐘,收藏起來(lái)肯定有

    2024年04月15日
    瀏覽(19)
  • JDK21新特性Record Patterns記錄模式詳解

    通過(guò)使用記錄模式來(lái)增強(qiáng)Java編程語(yǔ)言,以解構(gòu)記錄值。記錄模式和類型模式可嵌套使用,從而實(shí)現(xiàn)強(qiáng)大、聲明式和可組合的數(shù)據(jù)導(dǎo)航和處理形式。 由 JEP 405 提出的預(yù)覽功能,并在JDK 19發(fā)布,然后由 JEP 432 再次預(yù)覽,并在JDK 20發(fā)布。該功能與用于switch的模式匹配(JEP 441)共同

    2024年02月08日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包