Spring - HITSUN2015/Util GitHub Wiki
SPRING ASM
项目组成
Module
|----Class
|----Method
|---------|
|----Field
|---------|
|-----------------|----Annotation
所以就有对应的ModuleWriter,ClassWriter,MethodWriter,FieldWriter,AnnotationWriter
其中,ModuleWriter和ClassWriter互相持有,可能是功能需求吧。。。
自己实现asm需要功能 需要解决的问题
如何读取class
如何找到 用户想修改代码的地方
如何把用户代码 加入到class文件中
如何在jvm load该class之前,修改该class内容
疑问
1 抽象类Visitor的public方法全部被覆写,不知道为什么还要有Visitor类,为了保留原asm的扩展性?
2 ByteVector 如何优化了 DataOutputStream
参考资料
http://asm.ow2.org/
http://www.cnblogs.com/liuling/archive/2013/05/25/asm.html
http://joinhack.iteye.com/blog/796552
http://blog.csdn.net/u014586894/article/details/51636614
http://blog.csdn.net/cq1982/article/details/46326803
http://blog.csdn.net/mr__fang/article/details/54846502
SPRING CGLIB
功能和 asm差不都 spring完全依赖了该包
SPRING OBJENESIS
实例化对象 不需要 构造函数,我没有找到 spring中用到该方法的地方