Btrace 学习1
AOP就是一个Proxy模式,在被代理的方法前后作一些操作
Java中设计模式 装饰器 / 代理
ASM是一个Java字节码操作框架
Spring AspectJ cglib这些AOP框架都基于ASM
JVM运行步骤 类似于CPU寄存器
计算1+2
a, 将1 push到栈中
b, 将2 push到栈中
c, 调用ADD命令 取出栈中的数据相加并将结果放到栈顶
结果 栈中的1 2 已经不存在了 在栈顶有一个3
BTrace = sum attach API + Btrace脚本解析引擎 + ASM + JDK6 Instumentation
byteCode 插件查看字节码和asm
练习1
用cck工具修改class文件
练习2
用asm来修改class文件
TODO
学习classLoad
spring AOP IOC源代码
利用反射运行asm修改的class文件