91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java 12重磅發(fā)布,新特性解讀

5RJg_mcuworld ? 來(lái)源:YXQ ? 2019-03-21 17:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Java 9 之前,當(dāng)一個(gè)版本被宣布為首選版本,存在一個(gè)“培育”(bedded-in)新 GA 版本的重疊期。在此期間,上一個(gè)版本將會(huì)繼續(xù)進(jìn)行免費(fèi)更新。為確保新舊版本間的干凈切換,即便舊版本已不再是首選版本,通常也會(huì)繼續(xù)維護(hù) 12 個(gè)月以上。但是隨著 Java 版本發(fā)布更改為遵循嚴(yán)格的時(shí)間表后,事實(shí)上宣告了傳統(tǒng)的免費(fèi)支持期將壽終正寢。

Oracle 對(duì) Java 8 的官方支持時(shí)間持續(xù)到 2020 年 12 月,之后將不再為個(gè)人桌面用戶(hù)提供 Oracle JDK 8 的修復(fù)更新;在 2019 年 1 月之后,不再提供免費(fèi)的商業(yè)版本更新,屆時(shí)想要繼續(xù)獲得 Oracle 的商業(yè)支持和維護(hù),需付費(fèi)訂閱。

Java 是很多程序員的飯碗,Java 生態(tài)圈下的程序員們似乎對(duì)于 Oracle 也有諸多不滿(mǎn),當(dāng) Java 也像 Android 系統(tǒng)走上版本號(hào)的穩(wěn)定道路后,新版本的發(fā)布意義還有那么大嗎?Java 12 已經(jīng)發(fā)布了,但使用版本最多的還是 Java 8,你會(huì)選擇升級(jí)嗎?

JDK12 如期而至,不知不覺(jué) Java 半年為周期的發(fā)布模式(Half-year-cadence)已經(jīng)成功運(yùn)行了一年多,OpenJDK 社區(qū)和 Oracle 充分展示了其堅(jiān)決的執(zhí)行力。今天當(dāng)然要嘗鮮 JDK12 的新特性,與此同時(shí),筆者也會(huì)從不同角度,來(lái)分析新發(fā)布模式是否達(dá)到了其初衷。

下載地址:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

JDK 12 新特性一覽:

189:Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)

http://openjdk.java.net/jeps/189

230:Microbenchmark Suite

http://openjdk.java.net/jeps/230

325:Switch Expressions (Preview)

http://openjdk.java.net/jeps/325

334:JVM Constants API

http://openjdk.java.net/jeps/334

340:One AArch64 Port, Not Two

http://openjdk.java.net/jeps/340

341:Default CDS Archives

http://openjdk.java.net/jeps/341

344:Abortable Mixed Collections for G1

http://openjdk.java.net/jeps/344

346:Promptly Return Unused Committed Memory from G1

http://openjdk.java.net/jeps/346

首先值得關(guān)注的是 Switch Expressions,這是一個(gè)為開(kāi)發(fā)者準(zhǔn)備的特性,我們可以利用具體代碼快速了解一下,下面是傳統(tǒng) statement 形式的 switch 語(yǔ)法:


switch(day) {caseMONDAY:caseFRIDAY:caseSUNDAY:System.out.println(6);break;caseTUESDAY:System.out.println(7);break;caseTHURSDAY:caseSATURDAY:System.out.println(8);break;caseWEDNESDAY:System.out.println(9);break;}

如果有編碼經(jīng)驗(yàn),你一定知道,switch 語(yǔ)句如果漏寫(xiě)了一個(gè) break,那么邏輯往往就跑偏了,這種方式既繁瑣,又容易出錯(cuò)。如果換成 switch 表達(dá)式,Pattern Matching 機(jī)制能夠自然地保證只有單一路徑會(huì)被執(zhí)行,請(qǐng)看下面的代碼示例:


switch(day) {caseMONDAY, FRIDAY, SUNDAY -> System.out.println(6);caseTUESDAY -> System.out.println(7);caseTHURSDAY, SATURDAY -> System.out.println(8);caseWEDNESDAY -> System.out.println(9);}

更進(jìn)一步,下面的表達(dá)式,為我們提供了優(yōu)雅地表達(dá)特定場(chǎng)合計(jì)算邏輯的方式


intnumLetters =switch(day) {caseMONDAY, FRIDAY, SUNDAY ->6;caseTUESDAY ->7;caseTHURSDAY, SATURDAY ->8;caseWEDNESDAY ->9;};

Switch Expressions 或者說(shuō)起相關(guān)的 Pattern Matching 特性,為我們提供了勾勒出了 Java 語(yǔ)法進(jìn)化的一個(gè)趨勢(shì),將開(kāi)發(fā)者從復(fù)雜繁瑣的低層次抽象中逐漸解放出來(lái),以更高層次更優(yōu)雅的抽象,既降低代碼量,又避免意外編程錯(cuò)誤的出現(xiàn),進(jìn)而提高代碼質(zhì)量和開(kāi)發(fā)效率。

第二,則是很有現(xiàn)實(shí)意義度 Shenandoah GC。它是 Redhat 主導(dǎo)開(kāi)發(fā)的 Pauseless GC 實(shí)現(xiàn),從大概 2013 年開(kāi)始研發(fā),終于取得了重要的階段性成果,與其他 Pauseless GC 類(lèi)似,Shenandoah GC 主要目標(biāo)是 99.9% 的暫停小于 10ms,暫停與堆大小無(wú)關(guān)等。

也許了解 Shenandoah GC 的人比較少,業(yè)界聲音比較響亮的是 Oracle 在 JDK11 中開(kāi)源出來(lái)的 ZGC,或者商業(yè)版本的 Azul C4(Continuously Concurrent Compacting Collector)。但是,筆者認(rèn)為,至少目前,其實(shí)際意義大于后兩者,因?yàn)椋?/p>

使用 ZGC 的最低門(mén)檻是升級(jí)到 JDK11,對(duì)很多團(tuán)隊(duì)來(lái)說(shuō),這種版本的跳躍并不是非常低成本的事情,更何況是尚不清楚 ZGC 在自身業(yè)務(wù)場(chǎng)景中的實(shí)際表現(xiàn)如何。

而 C4,畢竟是土豪們的選擇,現(xiàn)實(shí)情況是,有多少公司連個(gè)幾十塊錢(qián)的 License 都不舍得…

而 Shenandoah GC 可是有穩(wěn)定的 JDK8u 版本發(fā)布的哦,據(jù)我所知已經(jīng)有個(gè)別公司在 HBase 等高實(shí)時(shí)性產(chǎn)品中實(shí)踐許久。

從原理的角度,我們可以參考該項(xiàng)目官方的示意圖,其內(nèi)存結(jié)構(gòu)與 G1 非常相似,都是將內(nèi)存劃分為類(lèi)似棋盤(pán)的 region。整體流程與 G1 也是比較相似的,最大的區(qū)別在于實(shí)現(xiàn)了并發(fā)的 Evacuation 環(huán)節(jié),引入的 Brooks Forwarding Pointer 技術(shù)使得 GC 在移動(dòng)對(duì)象時(shí),對(duì)象引用仍然可以訪問(wèn)。

下面是 jbb15 benchmark 中,Shenandoah GC 相對(duì)于其他主流 GC 的表現(xiàn),GC 暫停相比于 CMS 等選擇有數(shù)量級(jí)程度的提高,對(duì)于 GC 暫停非常敏感的場(chǎng)景,價(jià)值還是很明顯的,能夠在 SLA 層面有顯著提高。當(dāng)然,這種對(duì)于低延遲的保證,也是以消耗 CPU 等計(jì)算資源為代價(jià)的,實(shí)際吞吐量表現(xiàn)也不是非常明朗,需要看企業(yè)的實(shí)際場(chǎng)景需求,并不是一個(gè)一勞永逸的解決方案。

其他的一些特性,例如,G1 相關(guān)的兩個(gè)特性是對(duì) G1 在特定場(chǎng)景不足的有效改進(jìn),但談不上是突破性的提高,不再一一列舉。

與 JDK11 這種長(zhǎng)期支持版本(Long-Term-Support,LTS)相比,JDK12 似乎關(guān)注度有限,大家對(duì)于 JDK 這種頻繁的節(jié)奏也有點(diǎn)麻木了,那么

JDK12 這種非 LTS 版本,是否有什么生產(chǎn)環(huán)境價(jià)值?

Java 新的發(fā)布模式是否達(dá)到了其快速落地和迭代新特性的目的?

也許不會(huì)有太多公司直接選擇 JDK12,但個(gè)別的生產(chǎn)實(shí)踐并不遙遠(yuǎn)。比如,我所在部門(mén)在實(shí)踐場(chǎng)景中發(fā)現(xiàn),利用 JDK 12 的 Abortable Mixed Collections for G1,解決了 HDFS 在特定場(chǎng)景中 G1 Evacuation 時(shí)間過(guò)長(zhǎng)的困擾,雖然最后團(tuán)隊(duì)選擇將其 backport 到了自己的 JDK11 版本中,但如果沒(méi)有快速交付的預(yù)覽版 JDK12,也不會(huì)如此快速的得到結(jié)論。

而對(duì)另一個(gè)問(wèn)題,筆者認(rèn)為目前看是非常成功的,解開(kāi)了 Java/JVM 演進(jìn)的許多枷鎖,至關(guān)重要的是,OpenJDK 的權(quán)力中心,正在轉(zhuǎn)移到開(kāi)發(fā)社區(qū)和開(kāi)發(fā)者手中。在新的模式中,既可以利用 LTS 滿(mǎn)足企業(yè)長(zhǎng)期可靠支持的需求,也可以滿(mǎn)足各種開(kāi)發(fā)者對(duì)于新特性迭代的訴求。你可能注意到了 Switch Expressions 被打上了預(yù)覽(Preview)的標(biāo)簽,Shenandoah GC 則是實(shí)驗(yàn)(Experimental)特性,這些都是以往的發(fā)布周期下不大現(xiàn)實(shí)的,因?yàn)橛?2-3 年的最小間隔粒度來(lái)實(shí)驗(yàn)一個(gè)特性,基本是不現(xiàn)實(shí)的。

可以預(yù)計(jì),JDK8 在未來(lái)的一段時(shí)間仍將是主流,我們已經(jīng)注意到 Amazon、Alibaba、Redhat、AdoptOpenJDK 等等廠商或社區(qū),紛紛發(fā)布了自己的 JDK8 等產(chǎn)品,開(kāi)始競(jìng)賽長(zhǎng)期支持版本 JDK 的主導(dǎo)權(quán),筆者認(rèn)為這是非常好的跡象,反映了主流廠商對(duì)于 Java 的投資力度增大。

是否會(huì)帶來(lái) Java/JVM 的碎片化呢?多少會(huì)發(fā)生一些,但從目前的合作模式來(lái)看,OpenJDK 仍然是合作的中心,主導(dǎo)這 Java 歷史版本維護(hù)和未來(lái)的演進(jìn)路線。

一些小鮮肉語(yǔ)言嘲笑 Java,實(shí)現(xiàn)類(lèi)似功能,Java 代碼要多寫(xiě)近一倍,程序要笨重一個(gè)數(shù)量級(jí),有些也許是言過(guò)其實(shí),但語(yǔ)法的表達(dá)能力和 JVM 的龐大,確實(shí)逐漸成為 Java 發(fā)展的短板,JDK10~12 發(fā)布的不間斷成功,讓我們看到了 Java/JVM 大踏步前進(jìn)的曙光!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3001

    瀏覽量

    116405
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73935

原文標(biāo)題:Java 12正式發(fā)布,新特性解讀!

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    盤(pán)古信息IMS V6 7.0重磅發(fā)布!四大核心升級(jí),鑄就新一代制造企業(yè)數(shù)智化轉(zhuǎn)型產(chǎn)品

    2026年2月26日,盤(pán)古信息正式發(fā)布IMS V6 7.0版本。這不僅是一次產(chǎn)品迭代,更是一次面向“數(shù)智融合、行業(yè)專(zhuān)屬、全域協(xié)同”新階段的系統(tǒng)性戰(zhàn)略升級(jí),旨在打造制造企業(yè)數(shù)智化軟件工廠的新一代核心
    的頭像 發(fā)表于 02-27 09:29 ?56次閱讀
    盤(pán)古信息IMS V6 7.0<b class='flag-5'>重磅</b><b class='flag-5'>發(fā)布</b>!四大核心升級(jí),鑄就新一代制造企業(yè)數(shù)智化轉(zhuǎn)型產(chǎn)品

    云知聲山海知音大模型2.0重磅發(fā)布

    隨著智能體時(shí)代到來(lái),云知聲在“山?!tlas”通用智算基座持續(xù)演進(jìn)基礎(chǔ)上,年前實(shí)現(xiàn)了“山?!ぶt(yī)”5.0醫(yī)療大模型升級(jí),今天迎來(lái)了“山海·知音”2.0的重磅發(fā)布,正在完成“一基兩翼”技術(shù)戰(zhàn)略升級(jí)的能力拼圖。
    的頭像 發(fā)表于 01-27 14:08 ?196次閱讀
    云知聲山海知音大模型2.0<b class='flag-5'>重磅</b><b class='flag-5'>發(fā)布</b>

    福田卡文卡BEACON正式發(fā)布量產(chǎn)版

    2025年12月18日,福田卡文卡BEACON正式發(fā)布量產(chǎn)版,攜純電、氣氫、液氫三款量產(chǎn)產(chǎn)品與公眾見(jiàn)面,其中,液氫產(chǎn)品是行業(yè)首個(gè)將只應(yīng)用于航空航天領(lǐng)域的液氫能源突破性地應(yīng)用于量產(chǎn)化的新能源
    的頭像 發(fā)表于 12-25 16:18 ?803次閱讀

    摩爾線程在MDC 2025重磅發(fā)布全棧創(chuàng)新成果

    12月20日,在首屆MUSA開(kāi)發(fā)者大會(huì)上,摩爾線程創(chuàng)始人、董事長(zhǎng)兼CEO張建中發(fā)表主題演講,系統(tǒng)展示了以自主MUSA統(tǒng)一架構(gòu)為核心的全棧創(chuàng)新成果,全面展現(xiàn)公司在技術(shù)和生態(tài)上的關(guān)鍵突破與前瞻布局。
    的頭像 發(fā)表于 12-22 18:04 ?1448次閱讀

    小華半導(dǎo)體斬獲ASTC 2025重磅榮譽(yù)

    12月10日,2025中國(guó)家電科技年會(huì)(ASTC2025)在武漢盛大啟幕。小華半導(dǎo)體憑借在國(guó)產(chǎn)家電MCU領(lǐng)域的深耕積淀與亮眼市場(chǎng)表現(xiàn),一舉斬獲“自有品牌空調(diào)整機(jī)國(guó)產(chǎn)芯片用量排行榜”權(quán)威證書(shū),這不僅是行業(yè)對(duì)其市場(chǎng)實(shí)力的高度認(rèn)可,更標(biāo)志著國(guó)產(chǎn)MCU在空調(diào)核心控制領(lǐng)域?qū)崿F(xiàn)全面突圍。
    的頭像 發(fā)表于 12-17 15:52 ?2448次閱讀

    亞馬遜云科技Amazon S3重磅更新 引領(lǐng)企業(yè)云存儲(chǔ)未來(lái)方向

    北京2025年1212日 /美通社/ -- 亞馬遜云科技在2025 re:Invent全球大會(huì)上推出了云存儲(chǔ)服務(wù)Amazon S3的一系列重磅更新,包括Amazon S3 Vectors正式可用并
    的頭像 發(fā)表于 12-13 16:43 ?511次閱讀

    Java 25正式發(fā)布,重要特性詳解(附代碼示例):靈活構(gòu)造函數(shù)體、模塊導(dǎo)入聲明、AOT方法分析等

    Java 25現(xiàn)已發(fā)布,更多新特性來(lái)了!配合Perforce JRebel,代碼修改即時(shí)生效,無(wú)需重啟服務(wù),即可實(shí)現(xiàn)“改完就看效果”。新特性+快工具,讓你的
    的頭像 發(fā)表于 10-29 13:16 ?1341次閱讀
    <b class='flag-5'>Java</b> 25正式<b class='flag-5'>發(fā)布</b>,重要<b class='flag-5'>特性</b>詳解(附代碼示例):靈活構(gòu)造函數(shù)體、模塊導(dǎo)入聲明、AOT方法分析等

    翼輝信息RealEvo-Stream 2.0.0重磅發(fā)布

    自推出以來(lái),便以 “降低開(kāi)發(fā)門(mén)檻、加速項(xiàng)目落地” 為核心目標(biāo)。如今 RealEvo-Stream 2.0.0 正式發(fā)布!
    的頭像 發(fā)表于 10-29 11:45 ?1065次閱讀
    翼輝信息RealEvo-Stream 2.0.0<b class='flag-5'>重磅</b><b class='flag-5'>發(fā)布</b>

    上海海思助力長(zhǎng)虹星閃電視2.0重磅發(fā)布

    好看、好用、更好玩,四川長(zhǎng)虹聯(lián)合上海海思共同發(fā)布長(zhǎng)虹星閃電視2.0,融合星閃、GPMI、菁彩視聽(tīng)等創(chuàng)新技術(shù),實(shí)現(xiàn)了“體驗(yàn)”、“互聯(lián)”、“交互”的多維創(chuàng)新,旨在打造一款滿(mǎn)足全齡段家庭成員需求,更智慧
    的頭像 發(fā)表于 09-29 09:40 ?1176次閱讀

    OpenTenBase 5.0和TXSQL 8.0.30重磅發(fā)布

    內(nèi)核,助力社區(qū)擁有了兼容PostgreSQL和MySQL的雙內(nèi)核引擎。如今,OpenTenBase和TXSQL雙雙迎來(lái)重磅升級(jí)。
    的頭像 發(fā)表于 09-18 10:12 ?831次閱讀

    聯(lián)想百應(yīng)智能體2.0重磅升級(jí)

    升級(jí)后的聯(lián)想百應(yīng)智能體2.0具備自主規(guī)劃、按需生成和閉環(huán)解決能力,實(shí)現(xiàn)了AI從“響應(yīng)式助手”到“協(xié)作級(jí)伙伴”的能力躍遷,重新定義了中小企業(yè)AI服務(wù)邊界。
    的頭像 發(fā)表于 08-29 15:41 ?898次閱讀

    開(kāi)源鴻蒙共建地圖4.0重磅發(fā)布

    近日,在2025開(kāi)放原子開(kāi)源生態(tài)大會(huì)開(kāi)源鴻蒙主題演講活動(dòng)上,《開(kāi)源鴻蒙共建地圖4.0》重磅發(fā)布,標(biāo)志著開(kāi)源鴻蒙在技術(shù)體系、系統(tǒng)能力和生態(tài)共建方面邁入全新階段?;顒?dòng)現(xiàn)場(chǎng),開(kāi)放原子開(kāi)源基金會(huì)秘書(shū)長(zhǎng)助理兼
    的頭像 發(fā)表于 07-28 17:45 ?852次閱讀

    2025款東風(fēng)奕派eπ007重磅上市

    近日,東風(fēng)奕派重磅打造全球首場(chǎng)AI共創(chuàng)產(chǎn)品發(fā)布會(huì),以前沿科技重構(gòu)汽車(chē)發(fā)布場(chǎng)景,解鎖前所未有的沉浸式交互體驗(yàn)。
    的頭像 發(fā)表于 05-23 15:58 ?815次閱讀

    RK3588參數(shù)與主要特性 RK3588數(shù)據(jù)手冊(cè)解讀

    RK3588參數(shù)與主要特性 RK3588數(shù)據(jù)手冊(cè)解讀
    的頭像 發(fā)表于 05-19 18:34 ?1.3w次閱讀
    RK3588參數(shù)與主要<b class='flag-5'>特性</b>  RK3588數(shù)據(jù)手冊(cè)<b class='flag-5'>解讀</b>

    WIZnet高性能以太網(wǎng)單片機(jī)W55MH32重磅發(fā)布!

    WIZnet高性能以太網(wǎng)單片機(jī)W55MH32重磅發(fā)布!本文詳細(xì)解析了W55MH32芯片的高性能網(wǎng)絡(luò)處理能力與硬件資源,以及兩款開(kāi)發(fā)板(L/Q-EVB)。芯片憑借TOE引擎、豐富外設(shè)及加密單元,為物
    的頭像 發(fā)表于 05-07 16:17 ?1580次閱讀
    WIZnet高性能以太網(wǎng)單片機(jī)W55MH32<b class='flag-5'>重磅</b><b class='flag-5'>發(fā)布</b>!