动态代理

16 篇文章 0 订阅
 public static Object newProxyInstance(ClassLoader loader,
                                          Class<?>[] interfaces,
                                          InvocationHandler h)

参数1:类加载器:将类加载到内存中形成class文件

            动态创建一个类,相当于创建一个java文件,这个类不在内存,我们需要将它加载到内存

            固定格式:当前类.class.getClassLoader();

参数2:动态创建的类不知道方法,接口中有需要的方法名称

            固定格式:子类的实例对象.getClass().getInterfaces();

            通过子类的字节码对象,获得所有的接口,相当于知道了子类实现过的所有方法

参数3:执行处理类

            动态创建的类只知道接口,方法名称  但是没有实现  执行处理类就是实现


 invoke()

@Override
                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                        return null;
                    }

代理类每调用一次方法,执行处理类中的invoke方法被执行一次,同时,将传入三个参数

参数1:代理的对象

参数2:当前被执行的方法对象

参数3:当前被执行对象中的参数    如果有,以数组拼接 如果没有,就是null

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值