「Java 22」正式リリース。無名変数と無名パターン、複数のソースコードからなるJavaを一発実行する新機能など。「void main()」な記述もセカンドプレビューへ

2024年3月21日

オラクルはJavaの最新バージョン「Java 22」正式版をリリースしました。

Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるバージョンアップが行われます。6カ月前にリリースされた前バージョンのJava 21は、3年ごと2年ごとに指定される長期サポート(LTS:Long Term Support)版でした。

そのため、システム開発など長期に安定したJavaのバージョンを選択したい場合には、Java 21やJava 17など、これまでLTS版として指定されたバージョンを選択するべきでしょう。

また、Java 22の登場に合わせてAWSが早くも独自のOpenJDKディストリビューションである「Amazon Corretto 22」正式版をリリースしています。

Java 22の新機能

Java 22では、Java 21でプレビューとして追加された、「public static void main(String[] args)」といった複雑な記述を「void main()」のように簡潔に記述できる新機能「JEP 463: Implicitly Declared Classes and Instance Main Methods」がセカンドプレビューとなりました。この機能はデフォルトではオフになっています。

同じくJava 21でプレビューとされていた無名変数と無名パターンの記述を可能にする「JEP 456: Unnamed Variables & Patterns」は、プレビューから変更なく正式版となりました。

JavaプログラムがJavaランタイム外のコードやデータに対してJNI(Java Native Interface)を必要とせずに効率的な呼び出しやメモリへのセキュアなアクセスを実現する「JEP 454: Foreign Function & Memory API」も正式版となりました。

同じくJava 22で正式版となった「JEP 458: Launch Multi-File Source-Code Programs」は、複数のソースコードから構成されるJavaプログラムのすべてのファイルを事前にコンパイルしなくとも、javaコマンドで直接実行すると実行時に必要に応じてコンパイルし、実行してくれる機能です。

異なるスレッドで実行される複数のタスクを1つの作業単位として扱うことでエラーハンドリングやキャンセル処理などを簡素化でき、プログラムの信頼性や可観測性を強化できる「JEP 462: Structured Concurrency」はセカンドプレビュー。

イミュータブルデータをスレッド内およびスレッド間で共有できるようになる「JEP 464: Scoped Values」もセカンドプレビュー。

ベクトル計算をCPUアーキテクチャのベクトル命令にコンパイルでき、同等のスカラー計算と比較して性能向上を実現する「JEP 460: Vector API」は7thインキュベータなどとなっています。

Java 22の詳しい新機能などは、JDK 22のページをご参照ください。

あわせて読みたい

Java プログラミング言語 Oracle




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本