asm3.2 笔记

1,classReader和classWriter区别

ClassReader 类(读取): 这个类可以直接由字节数组或由 class 文件间接的获得字节码数据,它能正确的分析字节码,构建出抽象的树在内存中表示字节码

ClassWriter类(生成): 生成字节码的工具类

          ---实现了ClassVisitor接口

          ---含有一个 toByteArray() 函数,返回生成的字节码的字节流

 

一,ClassVisitor实现类
    ASMifierClassVisitor
    CheckClassAdapter
    ClassAdapter
    ClassNode
    ClassWriter
    EmptyVisitor
    RemappingClassAdapter
    SAXClassAdapter
    SerialVersionUIDAdder
    StaticInitMerger
    TraceClassVisitor

二,AnnotationVisitor实现类
    AnnotationNode
    ASMifierAnnotationVisitor
    CheckAnnotationAdapter
    EmptyVisitor
    RemappingAnnotationAdapter
    SAXAnnotationAdapter
    TraceAnnotationVisitor

三,FieldVisitor实现类
    ASMifierFieldVisitor
    CheckFieldAdapter
    EmptyVisitor
    FieldNode
    RemappingFieldAdapter
    SAXFieldAdapter
    TraceFieldVisitor

四,MethodVisitor实现类
    AdviceAdapter
    AnalyzerAdapter
    ASMifierMethodVisitor
    CheckMethodAdapter
    CodeSizeEvaluator
    EmptyVisitor
    GeneratorAdapter
    InstructionAdapter
    JSRInlinerAdapter
    LocalVariablesSorter
    MethodAdapter
    MethodNode
    RemappingMethodAdapter
    SAXCodeAdapter
    TraceMethodVisitor

五,Opcodes实现类
    AdviceAdapter
    Analyzer
    ASMContentHandler
    BasicInterpreter
    BasicVerifier
    CodeSizeEvaluator
    JSRInlinerAdapter
    SimpleVerifier
    SourceInterpreter

 

1. ClassVisitor接口 来访问Class中的每个元素

2.用户一般使用 ClassReader类 来读取Class的字节码时,

       注:每read一个元素,ASM会调用指定的ClassVisitor接口的实现类 来访问这个元素(访问者模式)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值