注目★★★★★hackernews
Project Valhalla、JDK 28 へ統合決定——10年の開発が実を結ぶ
30秒で把握
- 1JEP 401「Value Classes」がJDK 28へ統合決定・19.7万行超の変更
- 2プレビュー機能・デフォルト無効・Goetz曰く「Valhalla第一部」に留まる
- 3ヒープ間接参照とGCオーバーヘッド解消が目標・キャッシュ局所性を改善
要約
Oracle エンジニアの Lois Foltan が2025年6月15日、JEP 401「Value Classes and Objects」をOpenJDKメインリポジトリに統合し、JDK 28をターゲットとすることを確認した。このPRは1,816ファイルにわたり19万7千行超のコードを追加する大規模変更で、他のコミッターは大型コミットの一時停止を求められた。ただしプレビュー機能・デフォルト無効であり、Brian Goetz自身が「Valhallaの第一部に過ぎない」と釘を刺している。Valhallaのスローガン「codes like a class, works like an int」が示すように、通常のクラス構文を保ちながらJVMがプリミティブ同様にインライン配置・値渡し処理できる「Value Classes」を実現し、ヒープの間接参照によるキャッシュミスとGCオーバーヘッドを根本から解消することが目標だ。
あなたへの影響
Value Classesにより、PointやMoneyのような小さな値オブジェクトをプリミティブ同様に密にメモリ配置できるようになり、数値計算・金融・ゲームエンジン等の高頻度オブジェクト生成コードでGC圧力の大幅低減が見込まれる。
推奨:JDK 28はプレビュー段階のため本番適用は先だが、今からValue Classesの設計思想を理解しデータモデルを見直す準備を始めると移行コストを抑えられる可能性がある。