Oracle、「Java 22」「Oracle JDK 22」を提供開始JDK 22では12の機能強化、改良を実施

Oracleはプログラミング言語と開発プラットフォームである「Java」の最新版「Java 22」と、Java開発キット「Oracle JDK 22」の一般提供を開始した。

» 2024年04月08日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Oracleは2024年3月19日(米国時間)、プログラミング言語と開発プラットフォームである「Java」の最新版「Java 22」と、Java開発キット「Oracle JDK 22」の一般提供を開始した。

 Java 22では、パフォーマンスや安定性、セキュリティを強化する数千の改良が実施されている。Oracle JDK 22では、開発者の生産性向上に向けて12の機能強化や改良が行われている。これらの機能強化と改良は「JDK Enhancement Proposal」(JEPs:JDK拡張提案)で定義されている。

Java 22における機能強化と変更点

 OracleはJava 22における主要アップデートとして以下を挙げた。

Project Amberの機能

JEP 447:super(……)の前の文

 インスタンス作成中にコンストラクタを呼び出す前に、そのインスタンスを参照しないコードを記述できる。静的メソッド、中間コンストラクタ、コンストラクタの引数に必要なロジックをより自然に記述できるようになる。これにより、コードの可読性と保守性が向上する。

JEP 456:無名変数とパターン

 無名変数とパターンを導入することで、Javaのパターンマッチング機能を拡張した。これにより、コード内で未使用の変数を宣言する必要がなくなる。エラーの発生リスク提言や、可読性の向上を実現する。

JEP 459:文字列テンプレート(第2プレビュー)

 実行時に計算される値を含む文字列表現を容易にすることで、コードの可読性が向上し、文字列の生成がより直感的になる。また、ユーザー入力値を安全に文字列に組み込む方法を提供することで、プログラムのセキュリティを向上させる。

JEP 463:暗黙的に宣言されたクラスとインスタンスのメイン・メソッド(第2プレビュー)

 プログラミングの初学者が簡単にJavaを学び始められるように、クラスやメイン関数を暗黙的に宣言する方法を提供する。これにより、プログラムの記述が簡略化され、習熟度が上がるとともに、より複雑な概念に進むことができる。

Project Loomの機能

JEP 462:構造化された並行性(第2プレビュー)

 並行プログラミングにおけるエラーハンドリング、キャンセル処理の簡素化、観測可能性の向上を支援するための構造化並行性に関するAPIを導入する。これにより、並行プログラミングにおける一般的なリスクを低減し、コードの可観測性を向上させる。

JEP 464::スコープ値(第2プレビュー)

 スレッド内、スレッド間で不変データを共有できるようになる。これにより、開発プロジェクトの使いやすさ、理解しやすさ、堅牢(けんろう)性、パフォーマンスが向上する。

Project Panamaの機能

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.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。