JDK 19 功能集凍結(jié),虛擬線程終于要來了!
出品 | OSC開源社區(qū)(ID:oschina2013)
從 JDK 19 的概述頁面來看,JDK 19 處于 Rampdown Phase Two 階段,整個(gè)功能集已被凍結(jié),將不再對(duì) JEP 進(jìn)行改動(dòng)。
Java 19 只有 7 個(gè)新特性:
405: | Record Patterns (Preview) 記錄模式 |
422: | Linux/RISC-V Port Linux/RISC-V 移植 |
424: | Foreign Function & Memory API (Preview) 外部函數(shù)和內(nèi)存 API |
425: | Virtual Threads (Preview) 虛擬線程 |
426: | Vector API (Fourth Incubator) 向量 API |
427: | Pattern Matching for switch (Third Preview) Switch 模式匹配 |
428: | Structured Concurrency (Incubator) 結(jié)構(gòu)化并發(fā) |
下面對(duì)新特性作簡(jiǎn)短的介紹:
記錄模式 (預(yù)覽版)
使用 記錄模式 增強(qiáng) Java 編程語言以解構(gòu)記錄值,可以嵌套記錄模式和類型模式,實(shí)現(xiàn)強(qiáng)大的、聲明性的和可組合的數(shù)據(jù)導(dǎo)航和處理形式。
這是一個(gè)預(yù)覽語言功能。
Linux/RISC-V 移植
將 JDK 移植到 Linux/RISC-V,目前僅支持 RISC-V 的 RV64GV 配置(包含向量指令的通用 64 位 ISA)。將來可能會(huì)考慮支持其他 RISC-V 配置,例如通用 32 位配置 (RV32G)。
外部函數(shù)和內(nèi)存 API (預(yù)覽版)
引入一個(gè) API,Java 程序可以通過該 API 與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過該 API 可有效地調(diào)用外部函數(shù)( JVM 之外的代碼)和安全地訪問外部?jī)?nèi)存(不受 JVM 管理的內(nèi)存),使得 Java 程序能夠調(diào)用本機(jī)庫并處理本機(jī)數(shù)據(jù),而不會(huì)出現(xiàn) JNI 的脆弱性和危險(xiǎn)。
這是個(gè)預(yù)覽版 API 。
虛擬線程(預(yù)覽版)
將虛擬線程引入 Java 平臺(tái)。虛擬線程是輕量級(jí)線程,可顯著地減少編寫、維護(hù)和觀察高吞吐量并發(fā)應(yīng)用程序的工作量。
這是一個(gè)預(yù)覽 API,我們 OSC 曾對(duì)此進(jìn)行了詳細(xì)介紹 。
Vector API (第四次孵化)
引入一個(gè) API 來表達(dá)在運(yùn)行時(shí)能夠可靠編譯的向量計(jì)算,在支持的 CPU 架構(gòu)上優(yōu)化向量指令,從而實(shí)現(xiàn)優(yōu)于標(biāo)量計(jì)算的性能。
Switch 模式匹配(第三預(yù)覽版)
用 switch 表達(dá)式和語句的模式匹配,以及對(duì)模式語言的擴(kuò)展來增強(qiáng) Java 編程語言。將模式匹配擴(kuò)展到 switch 中,允許針對(duì)一些模式測(cè)試表達(dá)式,這樣就可以簡(jiǎn)明而安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。
該特性最早在 Java 17 中作為預(yù)覽版出現(xiàn), Java 19 為第三次預(yù)覽。
結(jié)構(gòu)化并發(fā)(孵化階段)
引入用于結(jié)構(gòu)化并發(fā)的 API 來簡(jiǎn)化多線程編程,結(jié)構(gòu)化并發(fā)將不同線程中運(yùn)行的多個(gè)任務(wù)視為單個(gè)工作單元,從而簡(jiǎn)化錯(cuò)誤處理、提高可靠性并增強(qiáng)可觀察性。
這是一個(gè)孵化階段的 API。
另附 JDK 19 時(shí)間表:
2022/06/09 | ||
Java 16:17 個(gè)
Java 17:14 個(gè)
Java 18 :9 個(gè)
Java 19 :7 個(gè)
推薦閱讀
IntelliJ IDEA 2022.2 正式發(fā)布:已完全支持 Spring 6 和 Spring Boot 3! 不到 20 人的 IT 公司該去嗎? 如何解決 Spring Cloud 下測(cè)試環(huán)境路由問題
你好,我是程序猿DD,10年開發(fā)老司機(jī)、阿里云MVP、騰訊云TVP、出過書創(chuàng)過業(yè)、國(guó)企4年互聯(lián)網(wǎng)6年。從普通開發(fā)到架構(gòu)師、再到合伙人。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅(jiān)持下來,多思考、少抱怨、勤動(dòng)手,就很容易實(shí)現(xiàn)彎道超車!所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個(gè)事情,一定是堅(jiān)持了才能看到希望,而不是看到希望才去堅(jiān)持。相信我,只要堅(jiān)持下來,你一定比現(xiàn)在更好!如果你還沒什么方向,可以先關(guān)注我,這里會(huì)經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。
