价格面议2020-11-05 15:16:21
1)编写待编译的java类
package f_asm_and_javassist;
import jdk.internal.org.objectweb.asm.*;
import java.io.*;
import static jdk.internal.org.objectweb.asm.Opcodes.ASM5;
/**
* @Author zhangboqing
* @Date 2020/3/26
*/
public class AsmDemo {
//访问类的方法和字段
public static void main(String[] args) {
byte[] bytes = getBytes(); // MyMain.class 文件的字节数组
ClassReader cr = new ClassReader(bytes);
ClassWriter cw = new ClassWriter(0);
ClassVisitor cv = new ClassVisitor(ASM5, cw) {
@Override
public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
System.out.println("field: " + name);
return super.visitField(access, name, desc, signature, value);
}