テクノロジーの世界は、無数の改良点を備えたJava 21を待っています。その主なものとしては、暫定形式での仮想スレッドの導入と、一般に ZGC として知られる世代 Z ガベージ コレクターの最終的な確立です。
Java実装の更新は通常、さまざまなプロジェクトのサブセットに分類されます。この特定の改善サイクルは、Loom、Panama、Amber の 3 つの主要プロジェクトからの革新をもたらします。これら 3 つの取り組みは、Oracle の定義に従って、 Javaの同時実行性の強化、ネイティブ コードとのリンク、および JEP 候補としての承認を受けて、より小規模で使いやすさを重視したJava言語機能の出現に焦点を当てています。
Project Loom は、この最新バージョンの顕著なプレビュー特性の 1 つとして、極めて重要な機能の 1 つである仮想スレッドを導入します。これは、Oracle の Java プラットフォーム開発担当上級副社長で OpenJDK 議長であるGeorges Saab氏が担当しています。 JEP レコードは、仮想スレッドを「超軽量スレッドが高スループットの同時アプリケーションの作成、保守、監視を行う理由」として説明しています。
Saab 氏によると、この技術的飛躍は、既存のソフトウェアとの互換性を確保しながら、Java のスケーラビリティの状況を再定義する可能性を秘めています。この機能はプログラミング界隈で多大な興奮を引き起こし、Java の直接の管轄外の専門家からも Java によるこの概念の実装を称賛されています。
Project Loom には、他の 2 つのプレビュー機能、つまりスコープ値と構造化同時実行性も含まれています。スコープ付きの値により、メソッド パラメーターを必要とせずにメソッドへの値の効率的かつ安全な共有が可能になりますが、構造化された同時実行により、さまざまなスレッドからの複数の関連タスクが 1 つのエンティティとしてレンダリングされ、効率的なエラー管理と信頼性の向上が容易になります。
このリリースに含まれる他の注目すべき機能は、特定の名前付きプロジェクトに束縛されないものではありますが、世代別 ZGC です。これにより、古いオブジェクトと新しいオブジェクトが分離されるため、若いオブジェクトがより頻繁に収集されるようになり、割り当ての停止が減少し、ヒープ メモリのオーバーヘッドが減少し、ガベージ コレクションによる CPU オーバーヘッドが減少します。
Project Amber と連携して、Java 21 では switch 式のパターン マッチングが導入され、式をさまざまなパターンに対してテストできるようになり、より簡潔かつ安全な方法でデータ指向のクエリを明確にすることが可能になります。
Project Amber に含まれるその他の注目すべきものには、名前のないパターンと変数、名前のないクラスとインスタンスのメイン メソッドが含まれます。これらはどちらもプレビュー段階にあります。これらの追加は、Java をよりアクセスしやすく、初心者にとって理解しやすくし、言語の概念のより細かい段階に保護された、より高度な Java プログラムの作成にスムーズに移行できるようにすることを目的としています。
Project Panama からは、開発中の 2 つの API、Foreign Function & Memory API (現在 3 回目のプレビュー段階) と Vector API (6 回目のインキュベーター段階) が改善されています。前者は Java プログラムと外部システムとの相互運用性を促進しますが、後者は実行時に互換性のある CPU アーキテクチャ上で最適なベクトル命令を保証します。
Java 21の追加の新要素には、シーケンス コレクション、キー カプセル化メカニズム API、段階的に廃止される 32 ビット x86 ポート、およびエージェントの動的ロードを禁止するための準備が含まれます。 Java は、小規模プロジェクトからエンタープライズ レベルのソリューションに至るまで、あらゆる開発プラットフォームとして引き続き好まれており、 AppMaster no-codeプラットフォームは効率性とスケーラビリティにおいて最先端を行っています。
Web アプリケーションであれ、モバイル アプリケーションであれ、開発の世界は常に進化しており、Georges Saab 氏が述べているように、Java の現状とパイプラインで待っているエキサイティングな一連のイノベーションには十分な満足感があります。