2018 年 Java 會有這些變化,新版本新特性

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

JDK 10

Java 10 按照新的節(jié)奏不會有大量更新,僅包含 12 個 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

編號為 286 的 JEP 引入了局部變量類型推斷。Java 將引入 var 關鍵字,支持由編譯器根據代碼進行推斷,來確定局部變量的類型。如下的代碼,list 和 stream 變量都可以簡化類型聲明。

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

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

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

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

$INTERIM :過渡版本號,一般為 0,用于功能變化不大的兼容升級;

$UPDATE :更新版本號,$FEATURE 更新后一個月遞增,然后每三個月遞增;

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

JDK 11

JDK 11 將于 2018 年 9 月發(fā)布,目前僅有 4 個JEP。按照計劃,JDK 11 將會引入動態(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技術】盤點 Java 中的隊列

MyBatis 類型處理器 TypeHandler

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

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

Java 9 新增的 3 個語言新特性

分享學習筆記和技術總結,內容涉及 Java 技術、軟件架構、前沿技術、開源框架、數(shù)據結構與算法、編程感悟等多個領域,歡迎關注。本文首發(fā)于微信公眾號“后端開發(fā)那點事兒” 。

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

相關閱讀更多精彩內容

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

友情鏈接更多精彩內容