浅谈java中的代理
1、代理:所谓代理它就是个中间媒介(代理对象)。代理对象代理被代理对象执行他的所有功能;而且可以防止客户直接对被代理代理对象进行直接访问;也可以对被代理的对象的功能进行增强。
2、代理分为静态代理和动态代理:
静态代理:被代理对象和代理对象实现同一个接口,功能同动态代理。
动态代理 :被代理对象必须实现一个接口。
3、静态代理和动态的区别:
     1)静态代理是程序员用面向对象的思想手动创建的代理类;而动态代理是jvm运行时自动生成的,是典型的java多态的体现。静态代理在程序运行前就生成.class文件, 动态代理是程序运行的时候产生的。
   2)当接口中的方法不断发生变化时,静态代理的被代理类和代理类要不断的发生改变,而且当接口中的方法非常多时,要一个个的进行中转,所以非常麻烦。但动态代理就生成一个方法,就避免了这一问题利用多态机制根据传进来的方法名和参数进行相应方法的使用,非常方便。故常常使用动态代理,而不使用静态代理。