设计模式(三):代理模式之JDK动态代理(JDK Dynamic Proxy)
JDK 1.3 版本后,Java提供了动态代理技术,允许应用在运行期创建接口的代理对象。
JDK 提供的代理只能针对接口做代理。也有更强大的代理库 cglib
,可以实现对类的代理。
JDK 的 java.lang.reflect
包下提供了一个Proxy
类和一个InvocationHandler
接口,Proxy
类利用InvocationHandler
动态创建一个符合某一接口的代理,生成(运行时)目标类的代理对象。
在普通编程过程中,无须使用动态代理,但在编写框架或底层基础代码时,动态代理的作用就非常大。