首页 > 编程语言 > 详细

AOP之SpringAOP、AspectJ、CGlib

时间:2020-03-17 20:20:49      阅读:48      评论:0      收藏:0      [点我收藏+]

Java中常见到的aop就这三种了:SpringAOP、AspectJ、CGlib

  1. SpringAOP是纯基于Java的反射机制来实现的,速度较慢但是通用且强大,只能基于接口实现aop代理增强,运行时动态执行;
  2. AspectJ是基于AOP这一哲学设计理念的实践,是基于Java的扩展,在编译时对目标类(非接口实现类也可)进行aop代理增强,运行时直接调用字节码;
  3. CGlib全称Code Generation Library,即代码生成包,底层是ASM-一个短小精悍的字节码操作框架,运行时对无接口实现的非final类进行字节码aop代理增强;

相比较而言,反射效率是比较低的,而字节码更高效,执行速度比较:
AspectJ > CGlib > SpringAOP

AOP的切点、切面、通知等概念就不在此赘述了;
暂写这么多,后续有新的再补充...

AOP之SpringAOP、AspectJ、CGlib

原文:https://www.cnblogs.com/izhoujie/p/12512907.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!