【发布时间】:2017-02-21 03:01:17
【问题描述】:
我正在使用 java 代理基于 java 中的一个输入类文件为两个公共类生成字节码。
现在我已经在 ClassFileTransformer 的子类中的转换函数中获得了两个字节数组,其中包含生成的类的字节码。如何直接将它们加载到 JVM 中而不将它们保存到磁盘文件?
代码如下所示
public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined,
ProtectionDomain protectionDomain, byte[] classfileBuffer)
throws IllegalClassFormatException {
byte[] classOne = generateEhancedClass(className, classFileBuffer, loader);
byte[] classTwo = generateShadowClass(className, classFileBuffer,loader);
// TODO load both classOne and classTwo into loader
}
【问题讨论】:
标签: java classloader javaagents