私は現在、Javaバイトコードの洞察を必要とするプロジェクトに注力しています。Javaバイトコードでオーバーライドメソッドを識別する方法は?
bcelの助けを借りて、ほとんどの作業を完了できます。私が今はっきりしていない点の1つは、サブクラスメソッドを識別してベースコードをオーバーライドする方法です。 .class
ファイルには、このオーバーライド関係を示すメソッドに関連付けられた属性が記録されていますか?または、そのベースクラスに戻ってメソッドシグネチャを比較できますか?
ヒントは非常に高く評価されます。
なぜそれは必要ないのですか?次に、JVMが '.class'ファイルを動的にリンクする方法は?一致するメソッドが見つかるまで、内部階層を上から検索しますか?ありがとう。 –
@Summer_More_More_Tea質問をフリップ - なぜ*必要なのでしょうか?それがあなたが見ているクラスのメソッドなら、なぜVMはそれがオーバーライドされているかを知る必要がありますか? –
@DAVEは地面に響く。:)ありがとう。 –