Oracle、「Java 20」をリリース 最も重要な7つの機能強化と変更点とは:数千の改良を実施
Oracleはプログラミング言語と開発プラットフォームである「Java」の最新版「Java 20」と、Java開発キット「Oracle JDK 20」の一般提供を開始した。
Oracleは2023年3月21日(米国時間)、プログラミング言語と開発プラットフォームである「Java」の最新版「Java 20」と、Java開発キット「Oracle JDK 20」の一般提供を開始した。
Java 20ではパフォーマンスや安定性、セキュリティを強化する数千の改良が実施されている。Oracle JDK 20では開発者の生産性向上に向けて7つの機能強化と変更が行われている。これらの機能強化と変更は「JDK Enhancement Proposal」(JEPs:JDK拡張提案)で定義されている。
OracleはJava 20について、「Oracleのエンジニアと世界中のJava開発者コミュニティーと他のメンバーが、 OpenJDKとJava Community Process(JCP)を通じて、広範囲にわたるコラボレーションをした成果だ」と述べている。
Java 20における機能強化と変更点
OracleはJava 20で提供される最も重要なアップデートとして以下を挙げた。
JEP 432:レコードパターン(第2プレビュー)
レコードパターンとタイプパターンをネストさせ、強力で宣言的、かつ構成可能なデータナビゲーションと処理を実現している。これにより、パターンマッチングを拡張して、より洗練された構成可能なデータクエリを可能にすることで、開発者の生産性を向上させる。
JEP 433:Pattern Matching for Switch(第4プレビュー)
パターン・マッチングをswitchに拡張することで、特定のアクションを伴う複数のパターンに対して式をテストできるため、複雑なデータ指向のクエリを簡潔かつセキュアに表現できる。switch式やswitch文の表現力や適用範囲が広がることで、開発者の生産性が向上する。
JEP 429:スコープ値(インキュベーター)
スレッド内およびスレッド間で不変データを共有できる。特に大量の仮想スレッドを使用する場合、スレッド、ローカル変数よりも好んで使用される。これにより、使いやすさ、理解しやすさ、堅牢(けんろう)性、パフォーマンスが向上する。
JEP 436:仮想スレッド(第2プレビュー)
Javaプラットフォームに軽量な仮想スレッドを導入することで、高スループットの並列処理アプリケーションの作成、保守、監視プロセスを劇的に効率化する。仮想スレッドを使用することで、開発者は既存のJDKツールやテクニックを使って、並行処理アプリケーションのトラブルシューティング、デバッグ、プロファイリングを容易にでき、アプリケーション開発を加速できる。
JEP 437:構造化された並行性(第2インキュベーター)
異なるスレッドで実行される複数のタスクを1つの作業単位として扱うことで、マルチスレッドプログラミングを簡素化できる。これにより、開発チームはエラー処理と取消を効率化し、信頼性を向上させ、可観測性を強化できる。
JEP 434:Foreign FunctionとMemory API(第2プレビュー)
Javaプログラムが、Javaランタイム外のコードやデータと相互運用できるようにする。Javaプログラムは、Java Native Interfaceを必要とせずに、外部関数(Java Virtual Machine〈JVM〉外のコード)を効率的に呼び出したり、外部メモリ(JVMで管理されていないメモリ)にセキュアにアクセスしたりすることで、ネイティブライブラリの呼び出しやネイティブデータを処理できる。これにより、使いやすさ、パフォーマンス、安全性が向上する。
JEP 438:ベクトルAPI(第5インキュベーター)
ベクトル計算を表現し、実行時にサポートされているCPUアーキテクチャのベクトル命令を確実にコンパイルできる。これにより、同等のスカラー計算と比較してパフォーマンスが向上する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
未経験者に「プログラミング言語」は求めない 調査で分かった企業が期待するスキルとは
パーソルキャリアは、「doda ビジネスパーソンと企業の転職意識ギャップ調査」の結果を発表した。それによるとITエンジニア職「未経験歓迎」求人の割合は2年前(2021年1月)に比べて約3.0倍に伸びていることが分かった。フロントエンドを高速化する第4のWeb言語――「WebAssembly」とは?
第1回では、第4のWeb言語とされ、W3Cで標準化されているWebAssemblyの概要を紹介します。WebAssemblyの仕組みと用途、Webブラウザをはじめとしたランタイム、非ブラウザAPIやプログラミング言語のサポートなどを紹介します。「Go」がトップ10入り、「Python」は? 2023年3月開発言語人気ランキング
TIOBE Softwareはプログラミング言語の人気ランキング「TIOBEインデックス」の2023年3月版を発表した。「Python」が首位を維持し、2〜5位は「C」「Java」「C++」「C#」となり、JavaとC++は、2月までの3カ月と順位が入れ替わった。「Go」が過去最高の10位に入った。