2011-01-26 6 views
2

JDK 1.5以降のJavaバイトコードインストルメンテーションを実行したいと考えています。これを行う方法は、ほとんどのJVMで機能し、JDKの将来のバージョンでサポートされていますか?将来的にJavaバイトコード計測を実行する方法は何ですか?

+0

今後の互換性を保証することは、彼らが何を変えるかも知れない。ただそれを指摘したかったのです。しかし、大部分のバイトコードコーディングに大きな変更はないと見なすことができます。 –

+0

しかし、少なくとも現在のJDKで動作するこれを行うための良い方法はありますか? – Zubair

答えて

1

生のバイトコードの読み書きを抽象化するライブラリを使用することをお勧めします。 ASMのように。この方法で将来の変更がライブラリを更新することで修正される可能性があります。また、これらの多くは既に多くのバージョン変更を行っており、バージョンアップした構造を持っています。

JVMのバージョン間では、バイトコードの変更はほとんどありません。バイトコードを変更したり、回避したりする機会があれば、後では常に使用されるように見えます。例えばJavaは、の外部クラスのプライベートメンバーにアクセスすることをサポートしていますが、年のJVMはこれを直接サポートしていません(代わりに回避策がコンパイラによって使用されます)。

+0

このようなライブラリはどれもASM上に存在しますか? – Zubair

+0

ASMにはコアライブラリの上に存在するライブラリがあります。それが適切かどうかを見るためにASMを見ましたか? –

+0

私はASMを見ましたが、それはあまりにも低いレベルです – Zubair

関連する問題