您的位置:首页 > 编程语言 > Java开发

cglib与JDK动态代理适用场景

2016-04-06 10:42 344 查看

JDK动态代理

优点

不依赖第三方jar包, 使用方便

随着JDK的升级,JDK动态代理的性能在稳步提升

缺点

只能代理实现了接口的类

执行速度较慢

适用场景

如果你的程序需要频繁、反复地创建代理对象,则JDK动态代理在性能上更占优。

cglib

优点

由于是动态生成字节码实现代理,因此代理对象的执行速度较快, 约为JDK动态代理的1.5 ~ 2倍

可以代理没有实现接口的对象

缺点

不能代理
final


动态生成字节码虽然执行较快,但是生成速度很慢,根据网上一些人的测试结果,cglib创建代理对象的速度要比JDK慢10 ~ 15倍。

适用场景

不需要频繁创建代理对象的应用,如Spring中默认的单例bean,只需要在容器启动时生成一次代理对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java