Java 10の時間ベースリリースバージョニング:予測可能な半年ごとのアップデート
JEP 322 - 時間ベースのリリースバージョニング
Java 10以降、OracleはJavaリリースに厳格な時間ベースのリリースバージョニングモデルを導入しました。これにより、Javaは6ヶ月ごとにメジャーリリースを行います。Java 10は2018年3月にリリースされ、以降すべてのメジャーバージョンは毎年3月と9月にリリースされる予定です。リリースは大きく3つのカテゴリに分類されます。
- フィーチャーリリース - 言語機能、JVM機能、新規/改良API、APIの削除/非推奨を含む。リリース時期は固定で、特定のリリースに含める機能に制約はない。開発中の機能が間に合わない場合は次のリリースに持ち越される
- アップデートリリース - バグ修正、セキュリティ修正、リグレッション修正などを含む。各アップデートリリースは四半期ごと(1月、4月、7月、10月)に計画される。各フィーチャーリリースは次のフィーチャーリリースが発表されるまで2回のアップデートリリースを受ける
- 長期サポート(LTS)リリース - 2018年9月から3年ごとに発表。Oracleはこのリリースに向けて向こう3年間サポートとアップデートを提供。本番環境でJavaを使用する企業向け
バージョン形式
バージョンは以下の形式に従います。
$FEATURE.$INTERIM.$UPDATE.$PATCH
各要素の意味:
- $FEATURE - メジャーフィーチャーリリースを表す番号。フィーチャーリリースごとに1ずつ増加。Java 10では10
- $INTERIM - 非フィーチャー、非アップデートリリースを表す番号。互換性のない変更、API削除、標準APIの変更は含まない。フィーチャーリリースではこのカウンターは0
- $UPDATE - フィーチャーリリース後のアップデートリリースを表す番号。例:2018年4月のアップデートはJDK 10.0.1、7月はJDK 10.0.2
- $PATCH - 緊急リリースを表す番号。重大な問題を緊急にプロモートする場合のみ増加
バージョン情報取得の例
public class Tester {
public static void main(String[] args) {
Runtime.Version version = Runtime.version();
System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n",
version.feature(), version.interim(), version.update(), version.patch());
}
}
出力例
feature: 10 interim: 0 update: 2 patch: 0
Java
- Eclipse Hono、MongoDBベースのデバイスレジストリを導入——スケーラブルで本番対応
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例
- Javaアサーション完全ガイド:バグ早期発見とコード信頼性の向上
- Java Vectorの理解:使い方、特徴、ArrayListとの比較