Java动态代理

java动态代理

先看Method反射,调用getDeclaredMethod查找方法;invoke执行方法,返回方法调用结果
getDeclareMethod会获取类的方法数组,最终从jvm中获取,jvm通过oop-klass方式。oop:普通对象指针,用于描述对象的实例信息;klass:java类在jvm中的表示,是对Java类的描述。

Java动态代理只能代理接口,因为Java的单继承体系,生成的代理类必须继承Proxy类。Proxy类的作用就是保存下自己定义的InvocationHandler,便于在方法代理时执行自定义的InvocationHandler的逻辑。

你可能感兴趣的:(Java动态代理)