区别:
apt
APT(Annotation Processing Tool 的简称),可以在代码编译期解析注解,并且生成新的 Java 文件,减少手动的代码输入。
图示
执行阶段:
APT在compile任务前,修改java文件;
AspectJ在java --> class阶段,修改java代码;
Javassist和asm,都是修改的.class
发生的具体函数
APT Processor -> process{....}
AspectJ javaCompile.doLast{ ... }
Javassist和asm MyTransform -> transform{ ... }