动态代理的使用以及其实现机制

  一、动态代理的使用

  动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。

  动态代理主要包含以下角色:

  动态代理类(以下简称为代理类)是一个实现在创建类时在运行时指定的接口列表的类,该类具有下面描述的行为。

  代理接口 是代理类实现的一个接口。

  代理实例 是代理类的一个实例。

  每个代理实例都有一个关联的调用处理程序 对象,香港服务器租用,它可以实现接口 InvocationHandler。通过其中一个代理接口的代理实例上的方法调用将被指派到实例的调用处理程序的 方法,并传递代理实例、识别调用方法的 java.lang.reflect.Method 对象以及包含参数的 Object 类型的数组。调用处理程序以适当的方式处理编码的方法调用,网站空间,并且它返回的结果将作为代理实例上方法调用的结果返回。

  

  目前Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。 其实现主要通过java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。Proxy类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现

  下面看一个例子:

  1.代理接口:IComputer.java

1 package com.proxy; IComputer {4void execute();5 },香港服务器生活不会永远都困难;祝你爱情蜜甜,事业大进步

动态代理的使用以及其实现机制

相关文章:

你感兴趣的文章:

标签云: