1.编译器植入:执行效率高,不灵活
2.装载时织入:稍微灵活,可以在JVM装在目标类对象和声明类对象的时候进行合并,效率也不太高
3.运行时植入:最灵活,通过配置文件进行目标类对象和通知进行合并的,效率低