关于cglib和jdk代理方法的区别

 

jdk动态代理和cglib动态代理都是增强被代理对象的手段之一,jdk动态代理顾名思义是由java官方提供的一种,而cglib是第三方的开源项目

有些书籍中的提到的是委托方和被委托方,二者的对应关系正好相反,即委托方=被代理对象,被委托方=代理对象

二者的区别:

  1. cglib实现原理是通过集成被代理类来实现动态代理的,因而类的修饰符不能含有final修饰符,并且方法同样不能使用static和final等修饰符,若含有就不能实现增强方法
  2. jdk实现原理:代理对象和被代理对象必须同时实现同一接口(即含有同一套规范).

cglib代理:

cglib被代理对象:

cglib测试方法:

 cglib输出结果:

"D:\Program Files\Java\jdk1.8.0_151\bin\java" 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值