Java 15 到目前為止的進展

Java 14 在一個月前左右剛剛發佈,但是新的 Java 發佈模型的一個強大優點就在於,下一個版本的工作從來沒有停止過。這意味著 Java 15 的發佈計劃已經開始了。

儘管距離進入特性凍結和 rampdown 階段還有幾乎兩個月的時間,但是 Java 15 的一些特性已經宣佈了。其中包括:

  • 隱藏類( JEP 371 )
  • 移除 Nashorn JavaScript 引擎( JEP 372 )
  • 文本塊(標準)( JEP 378 )

兩個新垃圾收集器的標準版本也會出現在特性列表中:

  • ZGC:可擴展、低延遲的垃圾收集器( JEP 377 )
  • Shenandoah:低暫停時間的垃圾收集器( JEP 379 )

ZGC 是由 Oracle 開發的,而 Shenandoah 是由 Red Hat 開發的。兩者提供了類似的功能,那就是非常低的暫停時間和對大規模堆的可擴展性,該功能是以整體的性能為代價獲取的(即降低了應用的吞吐量)。

Java 14 交付了 Amber 項目的一些里程碑特性,作為其增量交付的一部分。其中包括第一個 預覽發佈版的Records 、標準版的Switch Expressions 以及對 instanceof Pattern Matching 的初始預覽版。

儘管還沒有官方宣佈,但似乎 Java 15 很可能會進一步包含相關的 JEP,以繼續交付這組特性。

這可能會包含 Records 的第二個預覽版,甚至最終(Standard)版。另外, Sealed Types 的目標似乎也是 Java 15,只不過這很可能是一個預覽特性。

JDK 15 的另外一個具有競爭力的特性是 JEP 375 ,也就是 instanceof 的 Pattern Matching 的第二個預覽版。它通過為記錄引入deconstruction 模式,為模式匹配提供了另外一個關鍵步驟,這在 Java 語言中實現了的其他語言(例如,使用結構化類型實現產品類型的語言)的解構(destructuring)的概念。

Sealed Types、Records 以及模式匹配作為概念的引入表明了 Java 語言一個清晰的發展方向。再加上市場不願意採用非 LTS 發佈版本,這意味著到 2021 年 9 月份,Java 17(LTS)的最終特性將會包含完全成熟的模式匹配和名義代數類型(nominal algebraic type)。


分享到:


相關文章: