jdk和cglib,静态动态代理差别
时间: 2023-10-24 09:09:32 浏览: 111
静态代理、jdk动态代理、cglib动态代理
JDK和CGLIB都可以实现代理模式,但是它们实现的代理类型不同。JDK实现的代理是基于接口的,也称为接口代理。JDK通过反射机制动态生成代理类,该代理类实现了接口中的所有方法,并将方法调用委托给了被代理的对象。而CGLIB实现的代理是基于类的,也称为子类代理。CGLIB通过继承被代理类,动态生成一个子类,并重写其中的方法来实现代理。相比于JDK代理,CGLIB代理的效率更高,但是被代理的类必须有默认构造方法并且不能被final修饰。
阅读全文