java基础__代理、动态代理

来源:互联网 发布:net反编译成源码 编辑:程序博客网 时间:2024/06/06 19:52


http://wenku.baidu.com/link?url=HnX19bwzoe3gkq06vr6P4PWhkwadreuf9dEWUavi34E136-576ExCl9osFUNsuTNj9you3PIl_Hp3hLP6wQ_XTC2ZmOlqbUQJA7ikcaEBv7

java动态代理:是利用反射机制生成的一种实现代理接口的匿名类,在调用时动态代理可以提供对另一对象的访问,同时隐藏对实际对象的具体事实的隐藏

代理可以访问实际对象,延迟对实际对象的部分功能的实现。

代理对象的实现:proxy 或者实现invocationHandler实现它的invoke方法。

        静态代理由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。而动态代理是在程序运行时,代理类运用反射机制动态创建而成。动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。


0 0