静态的代理即写出代理类和目标类,代理类和目标类实现同一个接口,客户端程序可以通过配置文件的修改来决定调用代理类还是目标类,代理类除了有目标类的代码以为,还添加了有其他功能的代码,比如目标代码运行时间的时长 动态代理的需求就产生了,我们写了许多个目标类,同时还要写许多个代理类,为了提高工作效率,JVM可以在运行期间动态的生成出类的字节码,这种动态生成的类往往被用作代理类,即动态代理类。举个例子,通过调用Proxy类中的方法,我们可以实现Collection类,然后再传入ArrayList类,然后再指定你要修改ArrayList中的方法。然后在调用代理类的这个方法的时候,除了要实施目标中的方法的代码,还要实施你添加的代码。 |