2024年3月19日
12のJEPsによるアップデートと改良
Java 22は、これまで開発が進められてきたProject PanamaやProject Amber、Project Loomなどの各プロジェクト、また、コアライブラリやツールに関して、計12のJEPs
今回の発表に際し、記者向け説明会が行われ、米Oracleより、Vice President, Software Development
ここでは、12のJEPsを中心に最新のJava 22の機能やアップデート内容を紹介する。
Project Amber関連
Project Amber関連でアップデートされたJEPは次の4つ。
- JEP 447:Statements before super(...)
(プレビュー) - JEP 456:Unnamed Variables & Patterns
- JEP 459:String Templates
(セカンドプレビュー) - JEP 463:Implicitly Declared Classes and Instance Main Methods
(セカンドプレビュー)
Project Amberはプログラミング言語としてのJavaのコード可読性を向上させるためのプロジェクトで、この中では唯一のスタンダードJEPである456で、無名変数とパターンの導入で効率が良くなる。
またプレビューとなる447ではコンストラクタの動作の表現の自由度の向上、セカンドプレビューとなる459、463では、それぞれ文字列テンプレートの導入、暗黙的に宣言されたクラスとインスタンスによるメインメソッドにより、Javaにある大規模向けに設計された機能を理解せずに、プログラム開発が行えることを目指している。
Project Loom関連
Project Loom関連からは2つのJEPがアップデートされた。
- JEP 462:Structured Concurrency
(セカンドプレビュー) - JEP 464:Scoped Values
(セカンドプレビュー)
Project Loomは、軽量な実行を目指したプロジェクトで、今回の2つのJEPでは、それぞれ462で構造化された並行性のためのAPIの導入、464でスレッド内およびスレッド間での不変データの共有の実現を目指し、開発が進んでいる。
Project Panama関連
2014年のJavaOneで発表されてから10年が経ったProject Panama関連では以下2つのJEPについてアップデートされた。
- JEP 454:Foreign Function & Memory API
- JEP 460:Vector API
(第7インキュベータ)
とくにJEP 454はProject Panamaの中心機能の1つで、これにより、JavaプログラムがJavaランタイム外のコードやデータと相互運用できるAPIが導入される。この新しいAPIは、JavaプログラムでJNI
コアライブラリ・ツール関連
コアライブラリおよびツール関連では、次の3つのJEPがアップデートされた。
- JEP 457:Class-File API
(プレビュー) - JEP 458:Launch Multi-File Source-Code Programs
- JEP 461:Stream Gatherers
(プレビュー)
457ではJavaクラス・
パフォーマンス関連
- JEP 423 Region Pinning for G1
パフォーマンス関連からはJEP 423の1つがアップデートされた。これにより、ネイティブ・
開発者とともに成長するJava――Dev.javaをはじめとしたさまざまなコミュニティ
Senior Director, Java SE Product ManagementのSharat Chander氏は、Javaの開発の歴史を紹介する中で、今はさまざまな形での情報提供・
中でも、Dev.
その他、Inside JavaやJavaに関するYouTubeチャンネルなど、公式サイトやGitHub以外にも多様な情報が用意されており、これらがまたJavaコミュニティを支えていると伝えた。
JavaOneが再びベイエリアに――2025年3月17~20日開催
また、Java 22の発表に合わせ、エンジニアをはじめとしたJavaに関わるすべての人たちの祭典JavaOneに関する発表が行われた。
2025年はJava誕生30周年を迎える年で、この節目を記念した形でJavaOneが再びベイエリア・
詳細についてはJavaOneのサイトで随時アップデートしていくとのこと。