JVM にクラスがロードされているとしClass<C> myClass
ます。JVMに要求する信頼できる方法はありますかバイトコード.class? の内容 つまり、次のようなものです。
<C> byte[] getClassBytecode(Class<C> myClass) {
return /* the contents of the .class resource where C was loaded from */;
}
(明らかに、InputStream
は と同じくらい良いでしょうbyte[]
)。クラス ファイルを取得するために (および友人を)使用できることはわかっていmyClass.getResource()
ますが、getResource にフィードする URL を取得するためにクラス名を叩くのは間違っていると感じます。C
また、動的に生成された場合 (例: を使用) にこれがどのように動作するかはわかりませんjavax.tools.JavaCompiler
。
(より良い)アイデアはありますか?
注: 目標は、バイトコードクラスを別の JVM にロードし、カスタム クラスローダーを使用してそこにロードします。