jdk动态代理

jdk动态代理在创建代理对象的时候 会创建一个二进制文件 在文件中包含着target 目标增强对象,和invocationHandler 的增强方法.

在代理类执行增强方法的时候,会把代理对象本身, 代理类持有的目标对象target 和 参数传给代理类持有的invocationHandler对象的invoke方法;

核心方法是:

1 public final void eat(){
2     try {
3       super.h.invoke(this,m3,(Object[]) null);
4 
5     }
6 
7 }    
8 
9 只是写了一部分,其中this代表代理对象本身,m3 是目标对象的eat方法,第三个参数是null

 

posted @ 2021-02-21 22:00  rudynan  阅读(51)  评论(0)    收藏  举报