ASM是一个操作bytecode框架,主要有两个主要的ClassReader,ClassWriter,这两个类直接用来读取class文件,和生产class文件
ASM使用的scenario:
因为java语言是的编译型的语言,要运行的时候,必须先成java代码生成class(bytecode),然后再运行,如果没有java代码时候要想修改java类的behavior,就需要修改Asm这样的框架,直接修改class, AOP就是一个很常见的例子.
Class文件:
如果你打开class文件,你会发现class文件并不全是二进制,还有一部分,是人可以读懂的。