Javaのバージョンアップの動向
最近のJavaは、約半年ごとに新しいバージョンがリリースされています。これには、正式リリースに加えてプレビューリリースも多く含まれています。そのため、新しいバージョンが公開されたからといって、そこで初めて注目の機能が使えるようになるわけではありません。
また、後方互換性を損なう破壊的な変更はほとんどありません。そのため、日頃Javaを使っている開発者の中には、あえて新しい機能を積極的に追っていない方もいるでしょう。
そこで現在のバージョンアップの動向を簡単に説明します。主にProject Amber、Project Panama、そしてProject Loomという3つのプロジェクトを中心に改善が進められています。
特に、Javaコードを書く開発者にとって、Project Amberはより身近な変更が多く、これらの改善によってコードがよりシンプルになり、簡単に実行できるようになったことは、大きな変化だと言えます。
Java 25での変更点概要
Java 25は、Java 21以来のLTS(長期サポートリリース)です。もっとも、現在のJavaは約6か月ごとにアップデートが繰り返されるので、これらLTSバージョンの更新だけを見ていても細かい部分では分からない部分もあります。
本連載「【最新Javaアップデート解説】変更点と過去バージョンからのおさらい」でも詳しく記述していますので、そちらも合わせて参照することで、これまでの経緯についてより詳しく知ることができるでしょう。
Java25でリリースされた主な変更点は表1の通りです。
JEP番号 | 関連プロジェクト | 名称・概要 |
---|---|---|
JEP470 | - | PEMエンコーディングの暗号処理改善(プレビュー版) |
JEP502 | - | 不変オブジェクトの遅延作成(プレビュー版) |
JEP503 | - | x86アーキテクチャにおける32bit対応のサポート廃止 |
JEP505 | Project Loom | 構造化された並列処理に関するAPI(プレビュー版) |
JEP506 | Project Loom | スコープ内のスレッドにおける変数管理の改善 |
JEP507 | Project Amber | switchやinstanceofなどを使った記述形式の改善(プレビュー版) |
JEP508 | Project Panama | 並列演算処理におけるベクトル計算をする為のAPI(Incubator版) |
JEP509 | - | JFR(Java Flight Recorder)CPU時間プロファイリング(実験的ステータス) |
JEP510 | - | 暗号化キーの導出関数API |
JEP511 | Project Amber | モジュールのインポート宣言 |
JEP512 | Project Amber | mainメソッドの拡張および簡略化 |
JEP513 | Project Amber | コンストラクタにおける定義記述に関する改善 |
JEP514 | - | Javaアプリケーションの事前(AOT)キャッシュを利用した起動時の高速化 |
JEP515 | - | 事前(AOT)キャッシュを利用する為の実行時のプロファイリング機能 |
JEP518 | - | JFR(Java Flight Recorder)のサンプリング改善 |
JEP519 | - | コンパクト・オブジェクト・ヘッダの導入(メモリ利用の削減) |
JEP520 | - | JFR(Java Flight Recorder)のメソッドの実行時間計測及びトレース機能の改善 |
JEP521 | - | Shenandoahガベージコレクターの導入(GC機能の改善) |