A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2013-1-24 16:46  /  1242 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

个人理解java的动态代理具体实现分三步:
1.首先告诉它类需要使用哪些接口?然后告诉它该类的加载器是谁?
2.然后实例化InvocationHandler对象,由于InvocationHandler是一个接口,所以必须先实现它,这里最好用匿名内部类
3.让系统功能的代码以参数形式传递进来,让它在运行的时候传递进来,这样以后方便修改。(使用切面编程)

我个人觉得关键理解在于InvocationHandler接口的invoke方法。
invoke方法是每调用一次对象的方法时,它都执行一次,这个方法不是代理对象的方法,而是目标taget对象的方法

对动态代理技术原理的理解:
动态生成类的原理:
          客户端调用代理,代理的构造方法接受一个Invocationhandler对象,接受进去了,然后客户端调用代理的各个方法,
      代理的各个方法会把请求转发给Invocationhandler对象,Invocationhandler对象又会把各个请求分发给目标的相应方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马