码迷,mamicode.com
首页 > 编程语言 > 详细

java中的动态代理Proxy

时间:2019-01-08 23:41:10      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:rgs   cat   关联   动态   方法调用   handler   eth   ati   代理   

  动态代理是java语言的一个神奇的地方,不是很好理解,下面来看看关键的地方。

  InvocationHandler 是一个接口,官方文档解释说,每个代理的实例都有一个与之关联的 InvocationHandler 实现类,如果代理的方法被调用,那么代理便会通知和转发给内部的 InvocationHandler 实现类,由它决定处理。

public interface InvocationHandler {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable;
}

 

InvocationHandler 内部只是一个 invoke() 方法,正是这个方法决定了怎么样处理代理传递过来的方法调用。

proxy 代理对象

method 代理对象调用的方法
args 调用的方法中的参数

method.invoke(ldh, args); //这个方法是核心,很重要,调用了被代理对象的方

可以说,这两个invoke方法就是动态代理的核心,动态代理还多了一个对象proxy。

附上两篇文章:https://blog.csdn.net/pangqiandou/article/details/52964066,https://blog.csdn.net/briblue/article/details/73928350

java中的动态代理Proxy

标签:rgs   cat   关联   动态   方法调用   handler   eth   ati   代理   

原文地址:https://www.cnblogs.com/Robin008/p/10241898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!