【发布时间】:2013-06-26 13:13:10
【问题描述】:
假设在我的 JVM 中有一个已加载的类 Class<C> myClass。是否有一种可靠 的方式向 JVM 询问 .class 的 bytecode 内容? IE。像这样:
<C> byte[] getClassBytecode(Class<C> myClass) {
return /* the contents of the .class resource where C was loaded from */;
}
(显然InputStream 与byte[] 一样好)。我知道我可以使用myClass.getResource()(和朋友)来获取类文件,但是敲敲类名来获取一个 URL 来提供给 getResource 感觉不对。此外,如果动态生成 C(例如使用 javax.tools.JavaCompiler),我不确定这会如何表现。
有什么(更好的)想法吗?
注意:目标是能够将 bytecode 类推送到不同的 JVM 并使用自定义类加载器将它们加载到那里
【问题讨论】:
标签: java class classloader