wordpress适合做大型网站吗,网站数据库如何导入,网站建设人工智能,企业推广类网站本文开始
1.什么是动态代理#xff1f; 动态代理#xff1a;本来是通过直接访问目标对象的#xff0c;但是找个代理对象替你进行访问目标对象#xff0c;这就是动态代理过程#xff1b; 例如#xff1a;买饭作为目标对象#xff0c;自己不想亲自跑腿#xff0c;就点个…
本文开始
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性能高