Oracle、「Java 23」を提供開始 機能強化と変更点をおさらい:30周年を記念して「JavaOne」復活
Oracleはプログラミング言語「Java」の最新版「Java 23」の一般提供を開始した。
Oracleは2024年9月18日(米国時間)、プログラミング言語「Java」の最新版「Java 23」の一般提供を開始した。
Java 23では、開発者がツールセットを拡張して生産性を向上させ、AI(人工知能)などのテクノロジーを活用したアプリケーションを構築、提供しやすくする機能が強化されているという。
Java 23は、「Java Management Service」(JMS)9.0の最新の一般提供版でサポートされている。JMS 9.0は、「Oracle Cloud Infrastructure(OCI)」のネイティブサービスで、統合コンソールとダッシュボードを提供し、組織がクラウド環境を含む、あらゆるプラットフォーム上のJavaランタイムとアプリケーションを管理できるようにするものだ。
Java 23の機能強化と変更点
Oracleが挙げたJava 23における主要アップデートは下記の通り。
Project Amberの言語機能
JEP 455:プリミティブ型のパターン、instanceof、switch(プレビュー)
言語をより一貫性のある表現力豊かなものにすることで、Javaプログラミングの生産性を向上させる機能。パターンマッチング、instanceof、switchを使用する際に開発者が直面するプリミティブ型に関する制約を緩和する。例えば、プリミティブ型のパターンを全てのパターンコンテキストで許可してパターンマッチングを強化する。また、instanceofとswitchを拡張して全てのプリミティブ型で実行できるようにする。
JEP 476:モジュールインポート宣言(プレビュー)
インポートコードをモジュール自体に配置する必要がなくなり、モジュールがエクスポートした全てのパッケージを迅速かつ簡単にインポートできるようになった。これにより、モジュールライブラリの再利用が簡素化され、パッケージ階層内の位置を学習することなく、サードパーティーライブラリや基本的なJavaクラスをより簡単に使用できるようになる。
JEP 477:暗黙的に宣言されたクラスとインスタンスのメインメソッド(第3プレビュー)
大規模なプログラム向けに設計された言語機能を理解することなく、学習者が最初のプログラムを作成できるようにする。これにより、Javaプログラミングへのスムーズなオンボーディングが可能となり、学習やスキル開発を加速させることができる。
JEP 482:柔軟なコンストラクタ本体(第2プレビュー)
開発者が、「super(..)」や「this(..)」などの明示的なコンストラクタ呼び出しの前に文を表示できるようにすることで、生産性を向上させる。文は構築中のインスタンスを参照できないが、別のコンストラクタを呼び出す前にフィールドを初期化できる。これにより、メソッドがオーバーライドされた場合のクラスの信頼性が向上する。
ライブラリ
JEP 466:Class-File API(第2プレビュー)
Javaクラスファイルの解析、生成、変換のための標準APIを提供する。
JEP 469:Vector API(第8インキュベーター)
ベクトル計算を表現し、実行時にサポートされているCPUアーキテクチャのベクトル命令に確実にコンパイルするためのAPIを導入する。これにより、開発者は同等のスカラー計算よりも優れたパフォーマンスを実現できる。
JEP 473:Stream Gatherers(第2プレビュー)
Stream APIの機能を拡張してカスタムの中間操作に対応する。これにより、ストリームパイプラインは、既存の組み込み中間操作では困難だった方法でデータを変換できるようになる。
JEP 480:構造化された並行性(第3プレビュー)
構造化された並行性のための新しいAPIにより並行プログラミングを簡素化することで、マルチスレッドコードの保守性、信頼性および可視性を向上させる。構造化された並行性は、異なるスレッドで実行されている関連タスクのグループを単一の作業単位に統合することで、スレッドリークや取り消し遅延など、取り消しや停止に起因する一般的なリスクを排除する。
JEP 481:スコープ値(第3プレビュー)
スレッド内およびスレッド間で不変データの共有を可能にすることで、開発者はプロジェクトの使いやすさ、理解しやすさ、パフォーマンス、堅牢(けんろう)性を向上させることができる。
パフォーマンスおよびランタイムに関する更新
JEP 474:ZGC世代別モードのデフォルト化
ZGC(Z Garbage Collector)のデフォルトモードを世代別モードに切り替えることで、2つの異なるモードをサポートするために必要なリソースと保守コストを削減し、開発者の効率を向上させることができる。
ツール
JEP 467:Markdownドキュメントコメント
JavadocドキュメントコメントをHTMLおよびJavadoc @-タグのみでなくMarkdownでも記述できるようにする。開発者は、既存のドキュメントコメントの解釈に悪い影響を与えることなく、ソース形式でAPIドキュメントコメントを簡単に記述したり読み取ったりすることができる。
スチュワードシップ
JEP 471:sun.misc.unsafeのメモリアクセスメソッドを削除を予定した非推奨に設定
将来のリリースで削除が予定されているsun.misc.Unsafeのメモリアクセスメソッドに、アプリケーションが直接または間接的に依存しているかどうかを開発者が理解できるようにするための簡素化されたツールセットを提供する。
JavaOne、2025年に開催
OracleはJavaコミュニティーのフラグシップイベント「JavaOne」についても同社公式ブログで発表した。2025年に30周年を迎えることを記念して、JavaOneを開催するという。2025年3月17日〜20日、米国カリフォルニア州で開催される予定だ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
Java開発者なら知っておきたい「O/Rマッピングツール」5選
TechTargetは「O/Rマッピングツール」に関する記事を公開した。O/Rマッピングは、Javaからデータベースに接続するのによく使われる手法だ。O/Rマッピングにはさまざまなツールがあるため、どのツールを使用するかは慎重に比較検討する必要がある。Oracle、「Java 22」「Oracle JDK 22」を提供開始
Oracleはプログラミング言語と開発プラットフォームである「Java」の最新版「Java 22」と、Java開発キット「Oracle JDK 22」の一般提供を開始した。「C」が過去最低の4位、「Python」は引き続き独走 2024年9月版プログラミング言語人気ランキング
プログラミング言語の人気ランキング「TIOBEインデックス」の2024年9月版が公開された。首位の「Python」が2カ月連続で同言語として過去最高のレーティングを更新し、「C」が史上初めて4位に沈んだ。