Java静态代理java动态代理
静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。
1 public interface Save { 2 void save(); 3 } //实现Save接口 被代理的1 public class SaveOne implements Save { 2 @Override 3 public void save() { 4 System.out.println("被代理的"); 5 } 6 } 1 //代理类 实现同一个接口 2 public class ProxySaveOne implements Save { 3 //私有化接口 4 private Save target;
//接受保存目标对象 5 public ProxySaveOne(Save target){ 6 this.target=target; 7 } 8 9 @Override 10 public void save() { 11 System.out.println("开始!!!");//对原对象 的扩展 12 target.save(); 13 System.out.println("结束!!!就这就是静态代理"); 14 } 15 }
静态代理总结:
1.可以做到在不修改目标对象的功能前提下,对目标功能扩展。
2.缺点:因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护。
Java动态代理的两种实现方法:JDK动态代理和CGLIB动态代理jdk静态代理和动态代理
静态代理、动态代理,以及动态代理的调用说明静态代理和动态代理
#yyds干货盘点# 设计模式之静态代理,jdk动态代理,cglib动态代理的区别jdk静态代理和动态代理
快速理解 Java 静态代理 / 动态代理java静态代理和动态代理
Java学习路线-57:静态代理和动态代理java静态代理和动态代理
代理模式之静态代理,JDK动态代理和cglib动态代理jdk cglib动态代理
java中的静态代理、jdk动态代理和cglib动态代理jdk cglib动态代理
Java JDK中的静态代理、动态代理&Cglib动态代理jdk cglib动态代理