Java 23
2024年9月リリースの非LTS版。Javaバージョンごとのアップデートの中では、sun.misc.Unsafe廃止プロセスの起点として位置づけられる。
sun.misc.Unsafeメモリアクセスメソッドの非推奨化(JEP 471)
sun.misc.Unsafeのメモリアクセス系メソッド(getInt/putLongなど)を、将来の削除に向けて非推奨化した。Java 22までにForeign Function & Memory APIなど標準の代替APIが揃ったことを受けた措置。
- JEP 471時点ではデフォルトの挙動は変わらず(警告なしで動作する"allow"モード)。あくまで「将来消す」という予告。
- 実際にデフォルトが「警告」に変わるのはJava 24(JEP 498)、「例外送出」に変わるのはJava 26から。
- 直接
Unsafeを呼ぶアプリコードは少なくても、シリアライゼーションライブラリなど依存先が内部で使っているケースが多く、影響範囲を把握しづらい点が指摘されている。
出典
- JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal - OpenJDK
- Java’s Unsafe is Finally Going Away - foojay.io
- G1 Isn’t the Only Default That Changed: A Java 25→26 Migration Reality Check - Java Code Geeks