JAVA中静态代理和动态代理
2016-06-22 00:07
267 查看
代理类在程序运行前就已经存在,那么就是静态代理。
就是在代理类中使用一个委托类。
优点:
可以实现委托类和客户之间的解耦,在不修改委托类的情况下,在代理类进行一点小的修改就ok了。从例子也可以看出来,不修改生产工厂类,只需要在代理类里面进行一个判断,就可以实现了。
局限性:
所有的代理关系,必须在程序运行之前就已经编写好了。
运行时创建的代理方式,即是动态代理。
有点:
可以很方便的在对代理类的函数进行统一的处理,而不需要修改每个代理类的函数。
动态代理需要在委托类和代理类之间弄新的一个中间类,中间类必须实现一个“拦截”接口。
动态代理实质:形成两组静态代理关系 委托和中间 中间和代理
学习出处:http://developer.51cto.com/art/201606/512434.htm
就是在代理类中使用一个委托类。
优点:
可以实现委托类和客户之间的解耦,在不修改委托类的情况下,在代理类进行一点小的修改就ok了。从例子也可以看出来,不修改生产工厂类,只需要在代理类里面进行一个判断,就可以实现了。
局限性:
所有的代理关系,必须在程序运行之前就已经编写好了。
运行时创建的代理方式,即是动态代理。
有点:
可以很方便的在对代理类的函数进行统一的处理,而不需要修改每个代理类的函数。
动态代理需要在委托类和代理类之间弄新的一个中间类,中间类必须实现一个“拦截”接口。
动态代理实质:形成两组静态代理关系 委托和中间 中间和代理
学习出处:http://developer.51cto.com/art/201606/512434.htm
相关文章推荐
- java 值传递 数组传递
- C3P0配置
- Spring中bean的作用域
- 字节转为16进制输出
- SpringMVC 直接返回字符串时,中文乱码出现问号(?)的问题
- Git在eclipse中的配置详细记录
- eclipse 配置maven插件(在线+离线)
- Leet Code 41 First Missing Positive - Java
- Leet Code 43 Multiply Strings - 字符串表示的数相乘 - Java
- Leet Code 44 Wildcard Matching - 通配符匹配 - Java
- Leet Code 45 Jump Game II - 跳跃游戏 - Java
- Leet Code 46 Permutations - 排列 - Java
- Leet Code 47 Permutations II - 排列 - Java
- Java基础--类与对象
- Java基础--Java类设计
- Java基础--高级类特性
- 转载 Spring中应用反射机制浅析
- 简单桶排序——Kotlin与Java实现
- 1、Lambda 表达式基础
- 2、Stream API