老师你好,帮忙解释下回调和methodProxy的意思

老师你好,帮忙解释下回调和methodProxy的意思

老师你好,帮忙解释下回调和methodProxy的意思,如下图所示的两个问题,谢谢~

http://img1.sycdn.imooc.com//climg/5d7db82b09907a3310140493.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕柯南 2019-09-15 17:28:33

同学你好!

  1.  可以看一下打印出来的信息:

    http://img1.sycdn.imooc.com//climg/5d7e03e409a8564f09280458.jpg

  2. 可以看到:

    第一个是:调用方法的Method对象

    第二个是:MethodProxy 类型的,它应该是cglib生成用来代替Method对象的一个对象,使用MethodProxy比调用JDK自身的Method直接执行方法效率会有提升。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 慕仔3163040 #1
    使用MethodProxy比调用JDK自身的Method直接执行方法效率会有提升。 ———这是为什么呢?按理说代理后的方法执行效率应该会有损耗才对吧?
    2019-09-16 17:25:49
  • 好帮手慕柯南 回复 提问者 慕仔3163040 #2
    同学你好,这个是根据官方和使用经验的体会,至于为什么,需要深刻研究底层源码了,底层的东西不是一下子就会明白的,建议同学先熟练使用,随着经验的积累的不断地使用,并且还要主动去研究才能够真正明白呢。祝学习愉快~
    2019-09-16 18:21:15
好帮手慕柯南 2019-09-15 16:32:34

同学你好!

  1. 这个回调传入的参数,再生成代理enhancer.create();时,会使用到

  2. MethodProxy proxy是CGLIB提供的MethodProxy 类型的被拦截方法。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕仔3163040 #1
    老师你好,这个MethodProxy参数 与Method参数有什么区别?我比较迷惑的原因就是因为这个intercept方法里面出现了一个Method的参数,又出现了一个MethodProxy的参数,视频里面应该解释一下区别的,请老师帮忙详细解答下,谢谢
    2019-09-15 16:50:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师