原文はこちら。
The original article was written by David Delabassee (Director, Java Developer Relations, Oracle).
https://inside.java/2024/01/29/quality-heads-up/
OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDK Early Accessビルドを使ってのFOSSプロジェクトのテストを推進しています。
Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。
JDK 22 RDP2 & Deprecate sun.misc.Unsafe Memory-Access Methods…
https://mail.openjdk.org/pipermail/quality-discuss/2024-January/001132.html
このプログラムの詳細と参加方法については、上記wikiをご覧ください。
Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal in a Future Release
Javaプラットフォームの整合性を強化することに焦点を当てた取り組みが続いています。
JEP draft: Integrity by Default
https://openjdk.org/jeps/8305968
この長い、しかし重要な取り組みの次の段階では、メモリへのアクセスに使用されるsun.misc.Unsafe APIをターゲットにする可能性が高いです。87個のsun.misc.Unsafeメソッドのうち、これらのメソッドだけで79個のメソッドに達します。
この JEP草案では、sun.misc.Unsafeのメモリアクセスのためのメソッドを非推奨とする計画およびその理由、標準的な代替案について説明しています。
JEP draft: Deprecate Memory-Access Methods in sun.misc.Unsafe for Removal
https://openjdk.org/jeps/8323072
草案にあるように、まず、すべてのメモリアクセスのためのメソッド (オンヒープ、オフヒープ、バイモーダル) を非推奨とします。これにより、これらのメソッドを参照するコードのコンパイル時に非推奨の警告が表れ、ライブラリ開発者に近々削除されることを警告します。さらに新しいコマンドラインオプションにより、これらのメソッドが使用されたときに実行時の警告を受け取ることができるようになります。このコマンドラインは、コードベースが安全でないAPIを使用してメモリにアクセスしているかどうかを評価するのに役立ちます。JFRやjdeprscanのような他のツールを使って、こうした非推奨APIの使用を検出するできるようになります。
The jdeprscan Command
https://docs.oracle.com/en/java/javase/21/docs/specs/man/jdeprscan.html
https://docs.oracle.com/javase/jp/21/docs/specs/man/jdeprscan.html
Call To Action
JDK 22 以降、常設の Foreign Function & Memory APIが、オフヒープAPIにアクセスするための標準的で安全な方法を提供します。
JEP 454: Foreign Function & Memory API
https://openjdk.org/jeps/454
そのため、ライブラリ開発者の方々に対し、sun.misc.Unsafeからサポートされる代替APIに移行して、アプリケーションが最新のJDKにスムーズに移行できるようにすることを強く推奨します。最初の段階では、sun.misc.Unsafeメソッドがメモリへのアクセスに使われているかどうか、どのように使われているか、どこで使われているかを調査する必要があります。