Oracleはプログラミング言語と開発プラットフォームである「Java」の最新版「Java 22」と、Java開発キット「Oracle JDK 22」の一般提供を開始した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Oracleは2024年3月19日(米国時間)、プログラミング言語と開発プラットフォームである「Java」の最新版「Java 22」と、Java開発キット「Oracle JDK 22」の一般提供を開始した。
Java 22では、パフォーマンスや安定性、セキュリティを強化する数千の改良が実施されている。Oracle JDK 22では、開発者の生産性向上に向けて12の機能強化や改良が行われている。これらの機能強化と改良は「JDK Enhancement Proposal」(JEPs:JDK拡張提案)で定義されている。
OracleはJava 22における主要アップデートとして以下を挙げた。
JEP 447:super(……)の前の文
インスタンス作成中にコンストラクタを呼び出す前に、そのインスタンスを参照しないコードを記述できる。静的メソッド、中間コンストラクタ、コンストラクタの引数に必要なロジックをより自然に記述できるようになる。これにより、コードの可読性と保守性が向上する。
JEP 456:無名変数とパターン
無名変数とパターンを導入することで、Javaのパターンマッチング機能を拡張した。これにより、コード内で未使用の変数を宣言する必要がなくなる。エラーの発生リスク提言や、可読性の向上を実現する。
JEP 459:文字列テンプレート(第2プレビュー)
実行時に計算される値を含む文字列表現を容易にすることで、コードの可読性が向上し、文字列の生成がより直感的になる。また、ユーザー入力値を安全に文字列に組み込む方法を提供することで、プログラムのセキュリティを向上させる。
JEP 463:暗黙的に宣言されたクラスとインスタンスのメイン・メソッド(第2プレビュー)
プログラミングの初学者が簡単にJavaを学び始められるように、クラスやメイン関数を暗黙的に宣言する方法を提供する。これにより、プログラムの記述が簡略化され、習熟度が上がるとともに、より複雑な概念に進むことができる。
JEP 462:構造化された並行性(第2プレビュー)
並行プログラミングにおけるエラーハンドリング、キャンセル処理の簡素化、観測可能性の向上を支援するための構造化並行性に関するAPIを導入する。これにより、並行プログラミングにおける一般的なリスクを低減し、コードの可観測性を向上させる。
JEP 464::スコープ値(第2プレビュー)
スレッド内、スレッド間で不変データを共有できるようになる。これにより、開発プロジェクトの使いやすさ、理解しやすさ、堅牢(けんろう)性、パフォーマンスが向上する。
JEP 454:Foreign Function & Memory API
JavaプログラムがJavaランタイム外のコードやデータと相互運用することを可能にするAPIを導入する。Java仮想マシン(JVM)で管理されていない外部の関数やメモリを呼び出したり、安全にアクセスしたりできる。これにより、柔軟性、安全性、パフォーマンスを向上させる。
JEP 460:Vector API(第7インキュベーター)
ベクトル計算を効率的に表現し、サポートされているCPUアーキテクチャで確実にコンパイルするためのAPIを導入する。
JEP 457:Class-File API(プレビュー)
Javaクラスファイルの解析、生成、変換のための標準APIを提供する。これにより、開発者の生産性を向上させる。
JEP 458:マルチファイル・ソース・コード・プログラムの起動
複数のJavaソースコードファイルから構成されるプログラムを、ビルドツールを設定することなく、直接実行できる。これにより、簡単なプロジェクトや学習用のコードを迅速に試すことができる。
JEP 461:Stream Gatherers(プレビュー)
Stream APIの機能を拡張し、カスタム中間操作に対応することで、開発者の生産性を向上させる。これにより、ストリームパイプラインは、既存の組み込み中間操作では困難だった方法でデータを変換できるようになる。
JEP 423:G1領域の固定
ガベージコレクタを一時停止しなければならないようなネイティブライブラリの呼び出し中に、ガベージコレクションを実行できるようにする。これにより、ガベージコレクションのレイテンシを低減する。
Copyright © ITmedia, Inc. All Rights Reserved.