2018 年 Java 會(huì)有這些變化,新版本新特性

從 2018 年開始,JDK 的發(fā)布周期將由以前的數(shù)年一個(gè)大版本變化為 6 個(gè)月一個(gè)小版本。按照這個(gè)節(jié)奏,2017 年 9 月發(fā)布了 Java 9,半年后的 2018 年 3 月 20 日將發(fā)布 Java 10,而 JDK 11 將于 2018 年 9 月發(fā)布。

JDK 10

Java 10 按照新的節(jié)奏不會(huì)有大量更新,僅包含 12 個(gè) JEP。

286: Local-Variable Type Inference
296: Consolidate the JDK Forest into a Single Repository
304: Garbage-Collector Interface
307: Parallel Full GC for G1
310: Application Class-Data Sharing
312: Thread-Local Handshakes
313: Remove the Native-Header Generation Tool (javah)
314: Additional Unicode Language-Tag Extensions
316: Heap Allocation on Alternative Memory Devices
317: Experimental Java-Based JIT Compiler
319: Root Certificates
322: Time-Based Release Versioning

編號(hào)為 286 的 JEP 引入了局部變量類型推斷。Java 將引入 var 關(guān)鍵字,支持由編譯器根據(jù)代碼進(jìn)行推斷,來(lái)確定局部變量的類型。如下的代碼,list 和 stream 變量都可以簡(jiǎn)化類型聲明。

var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream(); // infers Stream<String>

編號(hào)為 307 的 JEP 引入了 G1 的多線程版本。G1 是 JDK 9 的默認(rèn)垃圾回收器,在 Full GC 時(shí)采用了單線程標(biāo)記-清理-壓縮算法,而在 JDK 10 將支持多線程算法以提高性能。

從 JDK 10 開始,將采用新的版本號(hào),格式為 $FEATURE.$INTERIM.$UPDATE.$PATCH。其中:

$FEATURE :功能版本號(hào),代表一次功能發(fā)布,每 6 個(gè)月增加一次,在 JDK 10 中 $FEATURE 即為 10;

$INTERIM :過渡版本號(hào),一般為 0,用于功能變化不大的兼容升級(jí);

$UPDATE :更新版本號(hào),$FEATURE 更新后一個(gè)月遞增,然后每三個(gè)月遞增;

$PATCH :緊急發(fā)布版本號(hào),解決關(guān)鍵問題的緊急發(fā)布才遞增;

JDK 11

JDK 11 將于 2018 年 9 月發(fā)布,目前僅有 4 個(gè)JEP。按照計(jì)劃,JDK 11 將會(huì)引入動(dòng)態(tài)類文件常量、引入新的垃圾回收器、刪除 Java EE 和 CORBA(已在 JDK 9 中廢棄)、在 lambda 參數(shù)中支持局部類型推斷。

309: Dynamic Class-File Constants
318: Epsilon: An Arbitrarily Low-Overhead Garbage Collector
320: Remove the Java EE and CORBA Modules
323: Local-Variable Syntax for Lambda Parameters

推薦閱讀

深入理解 Java 枚舉類型,這篇文章就夠了

【Java技術(shù)】盤點(diǎn) Java 中的隊(duì)列

MyBatis 類型處理器 TypeHandler

【框架探秘】Spring 專題 01. IoC 容器及其原理

MyBatis 動(dòng)態(tài) SQL 常用功能

Java 9 新增的 3 個(gè)語(yǔ)言新特性

分享學(xué)習(xí)筆記和技術(shù)總結(jié),內(nèi)容涉及 Java 技術(shù)、軟件架構(gòu)、前沿技術(shù)、開源框架、數(shù)據(jù)結(jié)構(gòu)與算法、編程感悟等多個(gè)領(lǐng)域,歡迎關(guān)注。本文首發(fā)于微信公眾號(hào)“后端開發(fā)那點(diǎn)事兒” 。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光劍書架上的書閱讀 4,177評(píng)論 2 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 家有二鴿。 剛學(xué)翅的年紀(jì),它倆撲騰著在院子里試飛。沒過幾天飛上屋頂,可能技術(shù)不熟練撞到哪里了,雄鳥阿呆翅膀不幸受傷...
    真水無(wú)香zswx閱讀 401評(píng)論 5 4
  • 輕量級(jí)線程:協(xié)程 在常用的并發(fā)模型中,多進(jìn)程、多線程、分布式是最普遍的,不過近些年來(lái)逐漸有一些語(yǔ)言以first-c...
    Tenderness4閱讀 6,488評(píng)論 2 10
  • 3.6.8 with語(yǔ)句with語(yǔ)句將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中,目的:為了簡(jiǎn)化多次編寫同一個(gè)對(duì)象的工作,...
    WMLJS閱讀 126評(píng)論 0 1

友情鏈接更多精彩內(nèi)容