標準APIによるクラスファイル解析
クラスファイルの解析と変換には標準のClass-File APIを使用する。
コード比較
✕ Third-party bytecode parser
ClassReader reader = new ClassReader(
Files.readAllBytes(classFile));
reader.accept(visitor, 0);
✓ Java 24+
ClassModel model = ClassFile.of().parse(classFile);
model.methods().forEach(method ->
System.out.println(
method.methodName().stringValue()));
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
サポート対象のAPI
JDKのクラスファイル形式とともに提供され、進化します。
依存関係の削減
外部ライブラリなしで一般的なバイトコード処理を実行できます。
合成可能なモデル
解析、構築、変換で1つのAPIを共有します。
旧来のアプローチ
ASM ClassReader
モダンなアプローチ
Class-File API
JDKバージョン
24
難易度
上級
JDKサポート
標準APIによるクラスファイル解析
利用可能
JDK 24(JEP 484、2025年3月)で正式導入
仕組み
JDK 24で正式導入されたClass-File APIは、JVMクラスファイル用のサポート対象モデルと変換機能を提供します。JDKとともにクラスファイル形式の変更に追従し、多くの検査や生成タスクでサードパーティ製ライブラリが不要になります。
関連ドキュメント
証明