最新的 Java SE 平臺和 JDK 版本釋出計劃

類別: IT
標籤: java
Java

前不久釋出的 Java 9 除了釋出了重大更新外,還公佈了一個全新版本的釋出計劃。該計劃基於 JEP 223,用於未來 Java 平臺版本的釋出。

然後,在這個全新版本釋出計劃公佈後,Java 首席架構師 Mark Reinhold 隨即做出了要對計劃進行更改的提議,決定採用嚴格的,基於時間的釋出模式。

基於 JEP 233 的釋出計劃的主要目標如下所示:

  • 版本號直觀,易於理解

  • 與當前行業的實際情況相一致

  • 能相容現有的包系統和平臺部署機制

  • 避免在版本的一種元素中編碼兩種資訊

  • 提供一個簡單 API,用於版本號的解析、驗證和比較

Java 9 釋出說明中,對版本號的格式的描述如下:

$MAJOR.$MINOR.$SECURITY.$PATCH

  • $MAJOR 版本號隨主要版本釋出而增加,其中需要包含 Java SE 平臺指定的重要特性。主要版本的新特性需要提前釋出宣告公佈。

  • $MINOR 版本號隨次要版本釋出而增加,內容包含 bug 修復,標準 API 的修復以及平臺規範指定以外的特性。

  • $SECURITY 版本號隨著安全更新版本的釋出而增加,內容需包含主要安全問題的修復。

  • $PATCH 版本號的增加,以包含安全和高優先順序使用者問題修復的版本釋出為依據。

Reinhold 表示,這種基於特性的釋出方式已經過時,為了更好的與其他平臺競爭,決定採取基於時間的釋出模式:

每六個月進行一次新特性發布,每季度進行一次更新發布,每三年進行一次LTS(長期支援)釋出。

Reinhold 提議的釋出模式如下:

$YEAR.$MONTH

例如,2018 年 3 月份的版本將表示為 18.3,2018 年 9 月份的版本將表示為為 18.9。

但似乎絕對基於時間的釋出模式還不是很流行,所以 Reinhold 提出了修訂版。

修訂後的版本號格式如下:

$FEATURE.$INTERIM.$UPDATE.$EMERG

  • $FEATURE 版本計數每六個月增加一次,不管釋出內容如何

  • $INTERIM 版本計數的增加,不包含新特性的釋出,不包含不相容的變更,但包含 bug 的修復和功能增強。該計數在當前六個月的釋出模式中為零

  • $UPDATE 版本計數每三個月增加一次,包含相容性的更新,如,安全問題修復等

  • $EMERG 版本計數隨緊急版本的釋出而增加

如果這一發布模式被採用,則 Java 的下一個版本仍是 Java 10,將於 2018 年 3 月釋出,Java 11 將於 2018 年 11 月釋出。對於釋出模式的提議仍在討論中,相信結果很快就會公佈。

詳情請檢視:New Version Scheme for Java SE Platform and the JDK

最新的 Java SE 平臺和 JDK 版本釋出計劃原文請看這裡