美文网首页
2018-10-05

2018-10-05

作者: 达俱 | 来源:发表于2018-10-05 09:27 被阅读0次

    反射_invoke    aop详解   代理51cto   代理图解   jvm_死灰级  反射入门_笨蛋   代理111

    动态代理的目的:做方法的增强,在不改变源码的前提下,增强一些方法。

    1.反射::
    invoke

    classLoader:类加载器,我们手动写的都是java文件,需要编译成class文件,这个是遵循JVM规范的二进制文件,然后通过classLoader将class文件加载进内存,生成我们需要的class对象,这个class对象通过反射就可以拿到类的所有信息。在这边的作用其实就是将Java动态生成的class文件进行加载得到动态代理的class对象,以便后面其他操作。

    interfaces:这个就是接口,可以看出无论代理或者RealSubject都是实现同样的接口,Java替我们动态生成的class文件中的方法其实就是接口中的方法。这个其实也是Java动态代理的缺点,即使RealSubject中声明的方法,但是接口中没有声明该方法,那么在生成的代理中就没有,也就是动态生成的代理类中只有接口中的方法,这个后面看栗子就清楚了。

    proxyHandler:就是InvocationHandler的实现类,集成管理Proxy方法的调用映射到RealSubject中,主要就是在invoke中方法实现。在我们这个栗子就是实现将AnimalProxy方法调用映射到Animal对应的方法上。

    作者:juexingzhe

    链接:https://www.jianshu.com/p/b00ef12d53cc

    來源:简书

    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:2018-10-05

          本文链接:https://www.haomeiwen.com/subject/dyofaftx.html