动态代理invoke和invokeSuper区别

invoke方法中methodProxy.invokeSuper和methodProxy.invoke调用方法区别?invoke方法会通过反射调用吗?



评论区

JFinal

2019-09-06 15:52

invokeSuper 是调用父类方法,你可以理解为:
super.methodName(...);

JFinal

2019-09-06 15:52

整个过程不是反射调用,反射调用性能不行,这个是在调用生成的动态代码

minminmin

2019-09-06 16:58

@JFinal 调用生成的动态代码?methodProxy.invokeSuper和methodProxy.invoke调用的方法也是需要实例化的吗?

JFinal

2019-09-06 17:37

@minminmin 这部分代码是 cglib 生成的,这个工具可以在运行时生成 java 字节码

字节码所对应的对象之中本就存在这个方法,无需实例化方法,该方法已是类的一部分

热门反馈

扫码入社