读书人

Kilim源码分析之二 - 织进入口及可织入

发布时间: 2013-03-22 09:49:50 作者: rapoo

Kilim源码分析之二 ---- 织入入口及可织入判断
?? ??2、可织入分析 && 织入文件

? ??2.1、织入接口kilim.tools.Weaver.weaveFile(String, InputStream, Detector)

? ? ? ? 在1中的织入入口会调用到,包括织入代码,把织入后的代码写到磁盘:

? ? ? ? ? ? ? 创建ClassWeaver的时候,传入的decetor是Detector.DEFAULT,一个默认的实现,这个类主要用来判断类是否需要织入、织入状态灯。? ? ? ? ClassWeaver封装了ClassFlow,ClassFlow是继承了ClassNode的,ClassNode是asm拿着类文件中所有内容构造的一棵树。在构造ClassWeaver的时候,就会构造一个ClassFlow对象:
?? ? ? ?mf.isBridge()里边是判断方法access flag是否有bridge标记,这种方法是由编译器生成,是JDK1.5引入泛型后,为了是java泛型方法生成的字节码和1.5之前的字节码相兼容,由编译器[为某个方法]自动生成的。更多关于bridge的信息,猛击这里和这里。 

读书人网 >编程

热点推荐