美文网首页
aop编程基石java动态代理

aop编程基石java动态代理

作者: 路小小飞 | 来源:发表于2018-08-08 11:30 被阅读0次

    一、静态代理的问题

    违反了开闭原则,每代理一个接口,就要修改代理类

    二、动态代理的原理

    1、对象的生命周期

    java文件 ——>字节码文件——>class 对象——>生成对象——>销毁

    2、动态代理的过程

    Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(), new Class<?>[] { Foo.class }, handler);

    不通过java文件,自己生成字节码,然后生成class对象,最后生成代理对象

    生成字节码时,已经继承了Proxy父类,实现了要代理的接口;

    生成class对象,用到了classloader和字节码

    生成代理对象时,把用来增强的处理类InvocationHandler传入

    相关文章

      网友评论

          本文标题:aop编程基石java动态代理

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