java动态代理和cglib,jdk代理 cglib
JDK动态代理和CGLIB区别
1、JDK动态代理:
使用拦截器(拦截器必须实现InvocationHanlder)和反射机制生成实现代理接口的匿名类,
在调用具体方法之前,调用InvokeHandler来处理它。
(相关视频教程分享:java视频教程)
2、CGLiB动态代理:
使用ASM开源包,加载代理对象类的类文件,修改其字节码生成子类。
3、JDK动态代理和CGLIB字节码生成的区别?
1.JDK动态代理只能为实现接口的类生成代理,而不能为类生成代理。
2.CGLIB是类实现的代理,主要生成指定类的子类,覆盖其方法,覆盖其方法实现增强。但是,因为它采用继承,所以最好不要将类或方法声明为final,对于final类或方法,它不能被继承。
更多java相关教程,请访问PHP中文网Java教程版块!这就是JDK动态代理和CGLIB的不同之处。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。