我已经从这篇文章中了解了如何在运行时使用ASM操作类。
但是我还有一个关于如何修改常量池的问题。以下是我要修改的示例Java程序
主jar文件:
public class test {
private static final String a = "Hello World";
private static final String b = "ASM is awasome";
public static void main(String[] args) {
int x = 10;
int y = 25;
int z = x * y;
System.out.println(a);
System.out.println(z);
System.out.println(b);
}
}
Run Code Online (Sandbox Code Playgroud)
我想将变量a从修改"Hello World"为"Multiply Of x*y is: "
我的特工班
import java.lang.instrument.*;
import java.security.ProtectionDomain;
import org.objectweb.asm.*;
public class ExampleAgent implements ClassFileTransformer {
private static final String TRANSFORM_CLASS …Run Code Online (Sandbox Code Playgroud)