在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Java 12重磅發布,新特性解讀

5RJg_mcuworld ? 來源:YXQ ? 2019-03-21 17:28 ? 次閱讀

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

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

Java 是很多程序員的飯碗,Java 生態圈下的程序員們似乎對于 Oracle 也有諸多不滿,當 Java 也像 Android 系統走上版本號的穩定道路后,新版本的發布意義還有那么大嗎?Java 12 已經發布了,但使用版本最多的還是 Java 8,你會選擇升級嗎?

JDK12 如期而至,不知不覺 Java 半年為周期的發布模式(Half-year-cadence)已經成功運行了一年多,OpenJDK 社區和 Oracle 充分展示了其堅決的執行力。今天當然要嘗鮮 JDK12 的新特性,與此同時,筆者也會從不同角度,來分析新發布模式是否達到了其初衷。

下載地址:

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

首先值得關注的是 Switch Expressions,這是一個為開發者準備的特性,我們可以利用具體代碼快速了解一下,下面是傳統 statement 形式的 switch 語法:


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;}

如果有編碼經驗,你一定知道,switch 語句如果漏寫了一個 break,那么邏輯往往就跑偏了,這種方式既繁瑣,又容易出錯。如果換成 switch 表達式,Pattern Matching 機制能夠自然地保證只有單一路徑會被執行,請看下面的代碼示例:


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);}

更進一步,下面的表達式,為我們提供了優雅地表達特定場合計算邏輯的方式


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

Switch Expressions 或者說起相關的 Pattern Matching 特性,為我們提供了勾勒出了 Java 語法進化的一個趨勢,將開發者從復雜繁瑣的低層次抽象中逐漸解放出來,以更高層次更優雅的抽象,既降低代碼量,又避免意外編程錯誤的出現,進而提高代碼質量和開發效率。

第二,則是很有現實意義度 Shenandoah GC。它是 Redhat 主導開發的 Pauseless GC 實現,從大概 2013 年開始研發,終于取得了重要的階段性成果,與其他 Pauseless GC 類似,Shenandoah GC 主要目標是 99.9% 的暫停小于 10ms,暫停與堆大小無關等。

也許了解 Shenandoah GC 的人比較少,業界聲音比較響亮的是 Oracle 在 JDK11 中開源出來的 ZGC,或者商業版本的 Azul C4(Continuously Concurrent Compacting Collector)。但是,筆者認為,至少目前,其實際意義大于后兩者,因為:

使用 ZGC 的最低門檻是升級到 JDK11,對很多團隊來說,這種版本的跳躍并不是非常低成本的事情,更何況是尚不清楚 ZGC 在自身業務場景中的實際表現如何。

而 C4,畢竟是土豪們的選擇,現實情況是,有多少公司連個幾十塊錢的 License 都不舍得…

而 Shenandoah GC 可是有穩定的 JDK8u 版本發布的哦,據我所知已經有個別公司在 HBase 等高實時性產品中實踐許久。

從原理的角度,我們可以參考該項目官方的示意圖,其內存結構與 G1 非常相似,都是將內存劃分為類似棋盤的 region。整體流程與 G1 也是比較相似的,最大的區別在于實現了并發的 Evacuation 環節,引入的 Brooks Forwarding Pointer 技術使得 GC 在移動對象時,對象引用仍然可以訪問。

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

其他的一些特性,例如,G1 相關的兩個特性是對 G1 在特定場景不足的有效改進,但談不上是突破性的提高,不再一一列舉。

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

JDK12 這種非 LTS 版本,是否有什么生產環境價值?

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

也許不會有太多公司直接選擇 JDK12,但個別的生產實踐并不遙遠。比如,我所在部門在實踐場景中發現,利用 JDK 12 的 Abortable Mixed Collections for G1,解決了 HDFS 在特定場景中 G1 Evacuation 時間過長的困擾,雖然最后團隊選擇將其 backport 到了自己的 JDK11 版本中,但如果沒有快速交付的預覽版 JDK12,也不會如此快速的得到結論。

而對另一個問題,筆者認為目前看是非常成功的,解開了 Java/JVM 演進的許多枷鎖,至關重要的是,OpenJDK 的權力中心,正在轉移到開發社區和開發者手中。在新的模式中,既可以利用 LTS 滿足企業長期可靠支持的需求,也可以滿足各種開發者對于新特性迭代的訴求。你可能注意到了 Switch Expressions 被打上了預覽(Preview)的標簽,Shenandoah GC 則是實驗(Experimental)特性,這些都是以往的發布周期下不大現實的,因為用 2-3 年的最小間隔粒度來實驗一個特性,基本是不現實的。

可以預計,JDK8 在未來的一段時間仍將是主流,我們已經注意到 Amazon、Alibaba、Redhat、AdoptOpenJDK 等等廠商或社區,紛紛發布了自己的 JDK8 等產品,開始競賽長期支持版本 JDK 的主導權,筆者認為這是非常好的跡象,反映了主流廠商對于 Java 的投資力度增大。

是否會帶來 Java/JVM 的碎片化呢?多少會發生一些,但從目前的合作模式來看,OpenJDK 仍然是合作的中心,主導這 Java 歷史版本維護和未來的演進路線。

一些小鮮肉語言嘲笑 Java,實現類似功能,Java 代碼要多寫近一倍,程序要笨重一個數量級,有些也許是言過其實,但語法的表達能力和 JVM 的龐大,確實逐漸成為 Java 發展的短板,JDK10~12 發布的不間斷成功,讓我們看到了 Java/JVM 大踏步前進的曙光!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2967

    瀏覽量

    104758
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68616

原文標題:Java 12正式發布,新特性解讀!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    光庭信息超級軟件工場SDW 2.0重磅發布

    近日,光庭信息2024年投資者開放日活動隆重舉辦。活動以“AI開發 再塑汽車變革”為主題,向廣大投資機構及券商代表深度闡述了光庭信息未來一年的發展策略及事業規劃,重磅發布了光庭信息及超級軟件工場全新品牌形象,超級軟件工場 2.0 版本也正式亮相,充分展示了光庭信息在 AI
    的頭像 發表于 12-23 15:04 ?205次閱讀

    福田汽車營銷戰略及產品發布會盛大召開

    近日,福田汽車營銷戰略及產品發布會在北京國家會議中心盛大召開。現場,經銷商、合作伙伴以及廣大媒體朋友2000余人共同參加。會上,福田汽車重磅發布了全域智慧生態品牌“愛易科”,并對自主三電品牌——愛易
    的頭像 發表于 12-05 14:10 ?166次閱讀

    UQI優奇重磅發布全棧式無人物流解決方案

    近日,“無人物流主義者”UQI優奇以“新物種、新范式、新紀元”為主題,在CeMAT 2024重磅發布全棧式無人物流解決方案,并推出全新產品“全天候”“雙驅”重載無人叉車F3000,為物流行業樹立創新應用標桿,加速無人物流的變革。
    的頭像 發表于 11-06 14:17 ?283次閱讀

    使用PyTorch在英特爾獨立顯卡上訓練模型

    《PyTorch 2.5重磅更新:性能優化+新特性》中的一個新特性就是:正式支持在英特爾獨立顯卡上訓練模型!
    的頭像 發表于 11-01 14:21 ?445次閱讀
    使用PyTorch在英特爾獨立顯卡上訓練模型

    依圖天問大模型4.0重磅發布

    2023年7月,依圖發布了智能安防領域首個可實戰可商用的多模態大模型—依圖天問1.0。發布至今,依圖天問大模型基座已完成了兩次迭代升級,并率先在全國50多個項目中部署應用。 近日,在第十屆中國(上海
    的頭像 發表于 06-18 09:25 ?746次閱讀

    天合光能發布行業首款AI仿生液冷工商業儲能系統Potentia藍海2

    重塑光儲設計,顛覆智造想象,2024年6月12日,天合光能“工商儲進化論”新品發布會于上海浦東隆重召開,行業首款AI仿生液冷工商業儲能系統Potentia藍海2重磅登場。秉持產品優化、技術創新、服務精進、場景拓展的四維升級理念,
    的頭像 發表于 06-14 11:17 ?658次閱讀

    2024 TUYA全球開發者大會盛大啟幕,Cube AI大模型重磅首發!

    2024TUYA全球開發者大會上,重磅推出AI大模型、AI開發工具、AI小程序開發基座等重量級產品,讓AI價值真正落地。01重磅發布涂鴉的首個AI大模型——CubeA
    的頭像 發表于 05-31 08:15 ?363次閱讀
    2024 TUYA全球開發者大會盛大啟幕,Cube AI大模型<b class='flag-5'>重磅</b>首發!

    全球首款基于文心大模型的學習機—小度學習機Z30重磅發布

    AI時代,大模型成為推動智能教育升維發展的新質生產力。5月27日小度科技召開新品發布會,全球首款基于文心大模型的學習機——小度學習機Z30重磅發布
    的頭像 發表于 05-28 09:30 ?656次閱讀

    小米SU7重磅發布,NGI為夢想之車保駕護航

    小米SU7重磅發布,NGI為夢想之車保駕護航 ? 3月28日晚,備受矚目的小米SU7正式發布,作為小米旗下首款C級高性能生態科技智能轎車,SU7搭載了小米五大核心黑科技,包括800V碳化硅高壓
    發表于 05-20 11:58 ?3863次閱讀
    小米SU7<b class='flag-5'>重磅</b><b class='flag-5'>發布</b>,NGI為夢想之車保駕護航

    報名開啟!第二屆OpenHarmony開發者大會2024重磅來襲!

    OpenHarmony 開發者大會2024,為開發者、產業組織、生態伙伴和行業用戶搭建一個交流、分享和學習的平臺。大會以 OpenHarmony 4.1 Release版本根技術特性解讀為契機,以“1場主論壇+6場技術
    發表于 05-14 15:23

    超充再次取得重大突破!欣旺達動力閃充電池3.0重磅發布

    、長壽命動力電池產品驚艷亮相,更有鈉電、大圓柱、固態電池等前沿技術產品重磅展示,為汽車行業帶來全場景的動力電池解決方案。 值得矚目的是,4月25日,欣旺達動力電芯產品總經理何軒博士在北京車展展臺現場隆重發布全新閃充電池3.
    的頭像 發表于 04-29 13:53 ?1414次閱讀

    奧拓電子攜多款AI+視訊產品亮相北京InfoComm

    4月17日,奧拓電子與多位全球AI巨頭攜手亮相的美國NAB展還未落下帷幕,另一重磅展會北京InfoComm便盛大開幕。
    的頭像 發表于 04-19 14:18 ?430次閱讀

    1個基礎模型系列、3大AI開發工具,Create2024重磅發布都在這里了!

    4月16日,百度舉辦了Create 2024百度AI開發者大會,包括百度創始人、董事長兼首席執行官李彥宏在內的多位重磅嘉賓登臺演講,并與全球各地的開發者們分享了百度在AI領域的最新技術進展。
    的頭像 發表于 04-18 10:38 ?565次閱讀

    小米SU7發布在即,全系標配智能輔助駕駛功能

    近日,小米創始人雷軍通過其個人社交平臺宣布,備受期待的小米SU7將于3月28日正式發布。這一重磅消息迅速在汽車界引起廣泛關注。小米汽車官方微博同步宣布,新車上市即交付,交付即上量,展現出強大的市場信心。
    的頭像 發表于 03-27 11:41 ?880次閱讀

    宋仕強論道”系列講座的文章暨宋仕強先生研究華強北模式和華強北文化的系列文章,再次迎來更新!

    》由新華社新華瞭望網在主頁首發,當日點擊量就突破10萬次!之后,金航標和薩科微宋仕強先生的這一重磅力作又引發一波波熱議狂潮,不僅被國內外的多家知名權威媒體紛紛競相轉載,還在阿拉伯世界迅猛傳播!宋仕強先生
    發表于 03-26 10:36
    主站蜘蛛池模板: 一区二区三区午夜| 四虎最新网站| 日韩一二三级| 日本国产高清色www视频在线| 国产成人v爽在线免播放观看| 狠狠操天天干| 免费91视频| 午夜宅男视频| 国产高清成人| 在线黄| 五月网婷婷| 藏经阁在线| 分分操免费视频在线观看| 男女全黄做爰视频| 亚洲黄色三级| 国产gaysexchina男同men1068 | 在线激情网| 黄色绿像一级片| аⅴ资源中文在线天堂| 亚洲第二色| 777色狠狠一区二区三区香蕉| 1515hh四虎免费观com| 一级毛片免费全部播放| 国产伦子一区二区三区| 亚洲va老文色欧美黄大片人人| 天堂视频免费| 黄色特级毛片| 天天操夜夜操夜夜操| 国产精品性| 欧美网站免费| 黑人黄色大片| 他也色在线视频| 忘忧草爱网| 宅男午夜| 一级毛片女人喷潮| 日本与大黑人xxxx| 完整日本特级毛片| 天天躁天天狠天天透| 伊人婷婷色香五月综合缴激情 | 永久观看| 国色天香精品亚洲精品|