オラクル、Java 24をリリース--さらなる改善と耐量子暗号への対応も

國谷武史 (編集部)

2025-03-19 06:00

 Oracleは米国時間3月18日、同日から開催のJava開発者会議「JavaOne 2025」に合わせて、Javaプラットフォームの最新版となる「Java 24」(Oracle JDK 24)をリリースした。開発生産性のさらなる改善と耐量子暗号への対応などを図った。

Oracle Java Developer Relations担当バイスプレジデントのChad Arimura氏
Oracle Java Developer Relations担当バイスプレジデントのChad Arimura氏

 Javaは、1995年5月の最初のアルファ版リリースから30周年を迎える。Java 24の事前のメディア向け説明会で、Java Developer Relations担当バイスプレジデントのChad Arimura氏は、「長い歴史を持つJavaは、今も世界で最も選ばれている(VDC 2023 Studyより)。最新版においても常に相互運用性を考慮しながら最新機能の取り込みとのバランスを図りながら、変化へ対応し続けている」とコメント。稼働中のJava仮想マシンは全世界で約630億台、クラウド環境で約410億台にも上るという。5月には、Java30周年のセレモニーも企画しているとのことだ。

 現在のJavaは6カ月ごとのリリースサイクルを採用する。今回のJava 24では、「JDK Enhancement Proposals」(JEPs)に基づいてプレビューを含む24件の主要なアップデートを反映した。ちなみ、Java 24の主要アップデートが24件なのは、「たまたまそうなった」(Arimura氏)という。

 Arimura氏が取り上げたアップデートのポイントは、開発生産性のさらなる向上とAPIやセキュリティ関連のライブラリーの強化などになる。

Java 24の主要なアップデート内容(Arimura氏の説明資料より) Java 24の主要なアップデート内容(Arimura氏の説明資料より)
※クリックすると拡大画像が見られます

 例えば、性能面では、JEP 491(ピン留めなしで仮想スレッドを同期)において、同期メソッドやステートメントを使用するJavaのコードやライブラリーの拡張性を向上。開発者がより多くの仮想スレッドにアクセスできるようにした。また、JEP 483(事前クラス・ローディングおよびリンク)では、Java仮想マシン起動時にアプリケーションのクラスをロード、リンク済みの状態で即座に利用できるよう高速化し、起動時間を短縮するという。

 APIライブラリーでは、JEP 489(Vector API)が9度目のインキュベーターとして取り込まれた。これは、AI開発などで使用されるベクトル計算において、実行時にサポートされているCPUアーキテクチャーのベクトル命令に確実にコンパイルするためのAPIとなる。Arimura氏によれば、プロジェクト成果の更新が続いているため、Java 24では通常より頻度の高いの9度目のインキュベーターの状態となっている。

 セキュリティのライブラリーでは、耐量子暗号への対応として、JEP 478(キー導出関数API、プレビュー)と、JEP 496(量子耐性のあるモジュールlatticeベースのキー・カプセル化メカニズム)、JEP 497(量子耐性のあるモジュールlatticeベースのデジタル署名アルゴリズム)の3件が取り込まれた。これらは、既存の暗号アルゴリズムが将来の量子コンピューターの進化によって危殆(きたい)化する懸念に備えたものになる。

Javaにおける耐量子暗号への対応方針。Arimura氏は、TLS 1.3導入時と同様に各種標準などを反映し開発者が準備できるように支援するとした(Arimura氏の説明資料より)
Javaにおける耐量子暗号への対応方針。Arimura氏は、TLS 1.3導入時と同様に各種標準などを反映し開発者が準備できるように支援するとした(Arimura氏の説明資料より)

 耐量子暗号の取り組みでは、米国標準技術局(NIST)が2024年8月にポスト量子暗号(PQC)の標準となる「FIPS 203/204/205」を公開した。現状の量子コンピューターの能力では既存の暗号アルゴリズムを危殆化させるのは不可能との見方が強いものの、能力の進化のペースが極めて速く、今後10年以内に実現される可能性が高いと見るサイバーセキュリティ研究者は多い。

 Arimura氏は、「量子コンピューターがもたらす懸念がいつ現実のものになるか、誰も分からないが、備えておく必要がある。(FIPS 203/204/205の公開で)われわれとしては、開発者の皆さんにまずはすぐに試してみることを推奨したい。今後バックポートにより長期サポートをしているバージョンにも反映していく」と述べた。

 また、学生などJavaの初学者とその指導者向けの取り組みも拡充。新たにオンライントレーニングの「Learn.java」を開設するほか、Java 24でもJEP 495(シンプルなソースファイルとインスタンスのmainメソッド、第4プレビュー)において、初学者が容易に最初のプログラム作成ができるよう支援を反映している。

JEP 495での印刷出力のコードを記述する例。Java初学者が事前に多くの知識を蓄積しなくても容易に初期開発ができることを支援するという(Arimura氏の説明資料より)
JEP 495での印刷出力のコードを記述する例。Java初学者が事前に多くの知識を蓄積しなくても容易に初期開発ができることを支援するという(Arimura氏の説明資料より)

 次回のリリースは、9月に予定する長期サポート(LTS)のJava 25となっている。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]