LTS (長期サポート) バージョンである Java 25 は現在リリース候補 (RC) 段階にあり、一般提供は 9 月 16 日に予定されています。
RC リリースは 2 回のうちの最初のリリースであり、2 回目は 8 月 21 日に予定されています。機能セットは固定されており、現在からリリースまでの間に行われる変更は、重大なバグ修正のみになるはずです。
Java 25には17の新機能が含まれており、そのうち6つはプレビュー段階です。また、32ビットx86のサポートは削除されました。開発チームは、x86 CPUを使用するほとんどのユーザーが64ビットアプリケーションを実行できることを考慮し、「この移植版の維持コストがメリットを上回る」と述べています。その他の32ビット移植版、特にARM32には影響はありません。
新しい機能は次のとおりです:
- 柔軟なコンストラクタ本体。明示的なコンストラクタ呼び出しの前に文を記述できることを意味します。この機能はJDK 24でプレビュー段階でしたが、変更なく最終版となりました。控えめな改善ではありますが、JEP(Java Enhancement Proposal)では、これにより有効なJavaコードの範囲が拡大され、「ツールの更新に伴い、多少の手間がかかる可能性がある」と説明されています。
- Key Derivation Functions は、暗号化アルゴリズム用の新しい API であり、ポスト量子暗号化をサポートするためのさらなる構成要素として必要です。問題は、量子コンピューティングによって、以前は安全だったアルゴリズムが攻撃に対して脆弱になることです。
- スコープ付き値は、既存のスレッドローカル変数の代替となるスレッド変数であり、制約のない可変性、無制限の有効期間、そしてコストのかかる継承という「3つの固有の設計上の欠陥」を修正します。スレッドローカル変数はそのまま残りますが、開発者はほとんどの場合、コードを移行することが推奨されます。
- モジュールのインポート宣言により、モジュール定義を介して複数のパッケージをオンデマンドでインポートできるようになり、より簡潔なコードが可能になります。
- コンパクトなソース ファイルとインスタンスのメイン メソッドにより、クラスを暗黙的に宣言できるようになり、定型コードの量が減るため、初心者にとって Java プログラミングが簡単になります。
JDK 25の新機能の全リストはこちら
このJDKリリースはLTSであるため、他のリリースよりも重要です。AzulのState of Java Reportの調査によると、ほとんどの組織がLTSリリースに固執しており、導入には慎重な姿勢を示しています。調査によると、昨年最も広く使用されたJDKは、2021年にリリースされたJDK 17でした。
これは、JDK 21以前からアップグレードする開発者も、ネイティブ相互運用コード用のJNI(Java Native Interface)よりも使いやすく安全な外部関数やメモリAPIなどの新機能の恩恵を受けることを意味します。パフォーマンスについても重要な取り組みが行われています。
RedMonkのプログラミング言語調査は、Javaが12年以上にわたって持続していることを示しています
- Oracle Javaユーザーの4人に3人近くが過去3年間に監査を受けたと回答
- Javaがコード30周年を迎え、開発環境を一変させた経緯
- Big Redの年末が近づくにつれ、ユーザーはOracle Javaの使用を見直すようアドバイスされる
- Oracle Javaユーザーの10人に1人だけがBig Redを使い続けたいと考えている
プログラミング言語のトレンドを見ると、Javaの使用率は安定しているものの、業界を席巻したJavaScript/TypeScriptの波を考えると、初心者にとってJavaを使いやすくする取り組みは遅すぎます。StackOverflowの調査によると、プロの開発者におけるJavaの使用率は2024年の30%から2025年には29.6%に減少すると予想されており、これはMicrosoftのC#にわずかに及ばず、大きな変化とは言えません。
GitHubリポジトリとStackOverflowのディスカッションタグに基づくRedMonkの言語ランキングでは、過去12年間でJavaがトップ3の言語にランクインしています。JavaからJetBrainsのJVM(Java仮想マシン)およびクロスプラットフォーム言語であるKotlinへの移行は、GoogleがAndroid開発の主要言語としてKotlinを採用したことが一因となっていますが、Javaは依然としてエンタープライズ開発において確固たる地位を築いています。®