zoukankan      html  css  js  c++  java
  • proxy

    1, Proxy提供了创建动态代理类和实例的静态方法,也是创建动态代理方法的超类。

    为接口创建动态代理的步骤:

    1 InvocationHandler handler = new MyInvocationHandler(...);
    2 Class<?> proxyClass = Proxy.getProxyClass(Foo.class.getClassLoader(), Foo.class);
    3 Foo f = (Foo) proxyClass.getConstructor(InvocationHandler.class).newInstance(handler);

    通常我们写成这样:

    Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),new Class<?>[] { Foo.class },handler

    动态代理类是在运行时实现了一系列的接口的类,

    代理接口;代理实例;handler

    代理实例上调用的一个方法,会被传递给代理实例的handler,还有一堆参数对象,代理实例通过反射技术实现真正调用。

    2,InvocationHandler是代理实例必须实现的接口

    每个代理实例都有一个调用处理函数handler,当代理实例产生方法调用时,实际就传递给代理实例的handler处理;

     这个接口只有一个方法:

    Object invoke(Object proxy, Method method, Object[] args)throws Throwable

    proxy 被代理的对象,method 代理对象调用的方法实例,

  • 相关阅读:
    python入门_老男孩_文件操作
    python入门_老男孩_列表和字典循环删除的正确方法
    python入门_老男孩_集合_元祖
    linux入门_韩顺平_复习版_文件目录类
    python-re模块
    sorted()函数
    偏函数+高阶函数
    生成器
    闭包
    匿名函数
  • 原文地址:https://www.cnblogs.com/iamgoodman/p/10160775.html
Copyright © 2011-2022 走看看