原文はこちら。
This article was written by Nicolai Parlog (Java Developer Advocate at Oracle).
https://inside.java/2025/01/31/quality-heads-up/
OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDKビルドを使ってのFOSSプロジェクトのテストを推進しています。
Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。このプログラムの詳細と参加方法については、上記wikiをご覧ください。
Moving Away From RMI
JavaのRemote Method Interface (RMI) は、1997年に導入され、Java仮想マシンから別のJava仮想マシンへの透過的なリモート・プロシージャ・コールを可能にしました。
リモート・プロシージャ・コール
https://en.wikipedia.org/wiki/Remote_procedure_call
https://ja.wikipedia.org/wiki/%E9%81%A0%E9%9A%94%E6%89%8B%E7%B6%9A%E3%81%8D%E5%91%BC%E5%87%BA%E3%81%97
RMIは、シリアライゼーションを使用してオブジェクトをバイトにエンコードし、引数や戻り値としてJVM間で転送します。どちらの技術も、長期的なセキュリティ上の懸念や構成上の問題があり、時代遅れになりました。現在では、より広範なエコシステムがRMIをよりWebフレンドリーなプロトコルに置き換えており、Java自体も可能な限りRMIへの依存を減らし、取り除こうとしています。
Local Measurements and Debugging
Javaには、ローカルのHotSpot JVMに接続し、そのJVMや実行中のプログラムの監視やデバッグを行うためのツールとして、次の2つが用意されています。
jstat | attach APIを使用してパフォーマンス統計を表示する https://docs.oracle.com/en/java/javase/23/docs/specs/man/jstat.html https://docs.oracle.com/en/java/javase/23/docs/api/jdk.attach/module-summary.html |
jhsdb | Serviceability Agentに基づき、スナップショットのデバッグと分析機能を提供する https://docs.oracle.com/en/java/javase/23/docs/specs/man/jhsdb.html https://openjdk.org/groups/hotspot/docs/Serviceability.html |
ローカルで使用するための両ツールの機能はそのまま残されており、変更の予定はありません。
Remote Use Deprecated for Removal
jstatおよびjhsdbは、RMIを使用して実装されたリモート機能を提供しています。前述のRMIへの依存を減らす取り組みにより、jstatおよびjhsdbのリモート機能は削除予定(deprecated for removal)になりました。
jstatdjstat へのリモート接続を可能にするデーモン | [JDK-8327793] Deprecate jstatd for removal https://bugs.openjdk.org/browse/JDK-8327793 |
jhsdbのdebugd jhsdbへのリモート接続を可能にするデーモンjhsdbサブコマンドの--connectオプション(hsdbおよびclhsdb) | [JDK-8338894] Deprecate jhsdb debugd for removal https://bugs.openjdk.org/browse/JDK-8338894 |
これらの機能の廃止に関する質問やフィードバックはserviceability-devのメーリングリストにお寄せください。
serviceability-dev — Technical discussion about the development of serviceability technologies (debugging, profiling, monitoring, and management)
https://mail.openjdk.org/mailman/listinfo/serviceability-dev
Alternatives
実行中のHotSpot JVMのリモートインサイトを取得するための代替ツールとして、JDK Flight Recorder (JFR) があります。
The jfr Command
https://docs.oracle.com/en/java/javase/23/docs/specs/man/jfr.html