当前位置: 首页 > news >正文

spring AOP两种动态代理


本文开始

1.什么是动态代理?
动态代理:本来是通过直接访问目标对象的,但是找个代理对象替你进行访问目标对象,这就是动态代理过程;
例如:买饭作为目标对象,自己不想亲自跑腿,就点个外卖,让外卖小哥给你送饭,外卖小哥就是代理对象,帮你买饭 也就是帮你访问目标对象;

2.动态代理 与 静态代理的区别
灵活性:动态代理是更加灵活的,不必实现接口,可以直接代理实现类;而静态代理够灵活,在接口增加方法时,目标对象与代理对象都需要手动修改;
JVM层面:动态代理是在运行阶段生成字节码文件,而静态代理是在编译阶段生成字节码文件;

3.spring AOP 实现动态代理的方式:JDK Proxy , CGLIB;

  • JDK Proxy实现代理**:通过 反射 实现接收代理的类 并且代理类必须实现接口;- 接口

  • CGLIB实现代理**:通过 继承 方式实现动态代理;(被final修饰的无法被继承,也就无法动态代理) - 可以代理 类 + 接口

4.动态代理 JDK Proxy 与 CGLIB 区别

a.来源不同:JDK Proxy来着java, CGLIB来着第三方;
b.实现不同:JDK Proxy要求动态代理实现接口才能实现代理;
CGLIB:通过实现代理类的子类完成动态代理;
c.性能不同:从JDK 7以后JDK Proxy性能略高于CGLIB; jdk 7之前CGLIB性能高;


http://www.lryc.cn/news/115772.html

相关文章:

  • 英语——副词
  • Vue 本地应用 记事本 v-on v-model v-for使用
  • 智能质检技术的核心环节:语音识别和自然语言处理
  • Python 中的值传递 和 引用传递
  • 【雕爷学编程】Arduino动手做(200)---WS2812B幻彩LED灯带6
  • ChatGPT在工作中的七种用途
  • redis 持久化 与 键淘汰策略
  • PyCharm新手入门指南
  • 【图像去噪】基于混合自适应(EM 自适应)实现自适应图像去噪研究(Matlab代码实现)
  • [保研/考研机试] KY102 计算表达式 上海交通大学复试上机题 C++实现
  • 源码解析Collections.sort ——从一个逃过单测的 bug 说起
  • 一周 AIGC 丨苹果下架多款 AIGC 应用,阿里云开源通义千问 70 亿参数模型
  • tomcat虚拟主机配置演示
  • Nacos基本应用
  • UML的类图规则
  • uniapp实现微信小程序长按二维码扫码加群或好友
  • 轮转数组(每日一题)
  • jmeter使用步骤
  • Ts中泛型的理解与使用
  • uniapp使用eatchs雷达图
  • PostgreSQL jsonb
  • Spring系列四:AOP切面编程
  • VS+Qt+C++旅游景区地图导航源码实例
  • 回调函数和一般函数的区别
  • 使用vite创建Vue/React前端项目,配置@别名和Sass样式,又快又方便
  • 从前序与中序遍历序列构造二叉树,从中序与后序遍历序列构造二叉树
  • 【JS常见数据结构】
  • 算法基础之插入排序
  • InfoQ 分享
  • Jupyter Notebook 遇上 NebulaGraph,可视化探索图数据库