Javaがfinalフィールドの不変性を強化する

2025-03-31

Javaプログラムの安全性を高め、パフォーマンスを向上させるため、JDKはfinalフィールドの不変性を強化する予定です。現在、ディープリフレクションによってfinalフィールドを変更できますが、これはfinalキーワード本来の意図に反し、JVMの最適化を制限します。将来のリリースでは、デフォルトでディープリフレクションによるfinalフィールドの変更を禁止し、警告を発します。開発者は`--enable-final-field-mutation`オプションを使用して、finalフィールドの変更を選択的に有効にできますが、できる限り避けることをお勧めします。この変更は、Javaの「デフォルトでのセキュリティ」機能を向上させ、レコードクラスの設計と整合性を保つことを目的としています。