我是靠谱客的博主 冷艳铃铛,最近开发中收集的这篇文章主要介绍JDK动态代理和CGLIB区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JDK动态代理和CGLIB区别

1、JDK动态代理:

利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,

在调用具体方法前调用InvokeHandler来处理。

(相关视频教程分享:java视频教程)

2、CGLiB动态代理:

利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。

3、JDK动态代理和CGLIB字节码生成的区别?

1、JDK动态代理只能对实现了接口的类生成代理,而不能针对类。

2、CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法,并覆盖其中方法实现增强,但是因为采用的是继承,所以该类或方法最好不要声明成final,对于final类或方法,是无法继承的。

最后

以上就是冷艳铃铛为你收集整理的JDK动态代理和CGLIB区别的全部内容,希望文章能够帮你解决JDK动态代理和CGLIB区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部