黑马程序员技术交流社区

标题: 关于代理 [打印本页]

作者: lichao    时间: 2013-12-20 20:36
标题: 关于代理
看张老师的视频,看了好几遍还是不能很好地总结:什么是代理、静态代理、动态代理?他们的区别是啥呀?都有啥优缺点呀?
求大神指教。。。最好是术语加实例。。

作者: 何清林    时间: 2014-3-2 16:31
静态的代理即写出代理类和目标类,代理类和目标类实现同一个接口,客户端程序可以通过配置文件的修改来决定调用代理类还是目标类,代理类除了有目标类的代码以为,还添加了有其他功能的代码,比如目标代码运行时间的时长

动态代理的需求就产生了,我们写了许多个目标类,同时还要写许多个代理类,为了提高工作效率,JVM可以在运行期间动态的生成出类的字节码,这种动态生成的类往往被用作代理类,即动态代理类。举个例子,通过调用Proxy类中的方法,我们可以实现Collection类,然后再传入ArrayList类,然后再指定你要修改ArrayList中的方法。然后在调用代理类的这个方法的时候,除了要实施目标中的方法的代码,还要实施你添加的代码。

如果不这样做的话,你就要复制粘贴一份ArrayList类的代码,然后将复制后的文件名字设置成ProxyArrayList,然后在你想要修改的方法中添加代码。这样做挺没有效率的
作者: yzmaodeng    时间: 2015-3-3 00:19
如果不这样做的话,你就要复制粘贴一份ArrayList类的代码   :handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2