2
我需要更改第三方库内的静态方法。我已经完成了变换实例方法,但不确定静态方法是否适用同样的事情。可以使用Java Instrumentation在运行时更改静态方法吗?
我有几个MyClass.java中称为myMethod的静态方法。我需要在运行时更改myMethod的实现。 基本上我扩展了ClassFileTransformer,并重写了byte []变换方法,如下图所示。这对于实例方法有效,但我不确定是否可以对静态方法执行相同的操作。
@Override
public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,
ProtectionDomain protectionDomain, byte[] classfileBuffer)
throws IllegalClassFormatException {
}