什么是代理模式
代理模式是一种设计模式.提供了对目标对象额外的控制方法,通过代理对访问目标对象,在不改变目标对象的同时,扩展目标对象的功能.通过一个代理对象,增强目标对象的功能
动态代理和静态代理有什么区别
静态代理在编译完成后就有了代理类,编译后代理类就是一个实际的.class文件
动态代理是在运行时动态生成的,编译完也没形成.class文件.而是动态生成字节码,并加载到jvm中静态代理的实现
其实实现某某的接口就可以看成是一个静态代理动态代理的实现
- JDK动态代理
- cglib动态代理
- JDK动态代理与cglib动态代理的区别
JDK动态代理的被代理类需要实现一个接口,代理类将也实现这个接口并重写被代理类中的方法(拜把子模式)
cglib动态代理的被代理类无需实现接口,代理类将继承被代理类,并重写被代理类中的方法进行扩展逻辑(认干爹模式)