
即面向切面编程,简单的说就是将代码中重复的部分抽取出来,在需要执行的时候使用动态代理技术,在不修改源码的基础上对方法进行增强。
优点:减少代码的冗余,提高开发效率,维护方便
动态代理的原理:JDK动态代理:实现InvocationHandler接口,通过重组字节码实现,首先获得代理对象的引用和所有接口,生成新的类必须实现代理类的所有接口,动态生成Java代码后编译生成的.class文件并重新加载到JVM运行
CGLIB动态代理:采用ASM框架直接写字节码,生成代理类的效率低。但是调用的方法效率高,这是因为Jdk使用反射调用方法
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)