Project Valhalla
Javaのオブジェクトモデルを拡張するOpenJDKプロジェクト。オブジェクト指向の抽象化とプリミティブ型のパフォーマンス特性を組み合わせることを目標とする。構文の簡潔化など軽量な言語機能を扱うProject Amberとは役割が異なる。
背景
従来のJavaでは、オブジェクトは常に参照型(ヒープに確保され、ポインタ経由でアクセスされる)だった。Project Valhallaはここに値型(value type)を導入し、プリミティブ型並みの性能(インライン化・ボクシング回避)を持つオブジェクトを作れるようにする。
JEP 401 (Value Classes and Objects)
Project Valhallaの中核となるJEP。
- プレビュー機能として JDK 28 (2027年3月予定)でOpenJDK本流に統合される見込み(2026年6月時点)
- 変更規模は197,000行以上、1,816ファイルに及ぶ大規模なもの
- プレビュー機能のためデフォルトでは無効(オプトインが必要)
タイムライン
- 現行の最新版: JDK 26
- JDK 27: 2026年9月予定
- JDK 28: 2027年3月予定(JEP 401プレビュー搭載見込み)
出典
- Project Valhalla — OpenJDK公式
- Java’s Project Valhalla finally lands a preview in JDK 28 — The Register
- Java’s Plans for 2026 - Inside Java Newscast #104
- Project Valhalla (Java language) - Wikipedia)