Получить байт-код из загруженного класса
Предположим, в моей JVM у меня есть загруженный классClass myClass
, Есть линадежный способ попросить JVM длябайткодом содержимое .class? То есть что-то вроде этого:
byte[] getClassBytecode(Class myClass) {
return /* the contents of the .class resource where C was loaded from */;
}
(очевидно,InputStream
будет так же хорошо, какbyte[]
). Я знаю, что могу использоватьmyClass.getResource()
(и друзья), чтобы получить файл класса, но нажимая на имя класса, чтобы получить URL для подачи в getResource, чувствует себя неправильно. Кроме того, я не уверен, как это будет вести себя в случаеC
был сгенерирован динамически (например, с использованиемjavax.tools.JavaCompiler
).
Любая (лучшая) идея?
примечание: цель состоит в том, чтобы иметь возможность подтолкнутьбайткодом классы для другой JVM и использовать собственный загрузчик классов, чтобы загрузить их там