1、反射
2、动态代理
Q:什么情况下用
A:
1、如果别人提供了一个class文件或jar包给你,你自己的代码已经写好了,但是同时又需要用别人提供的class文件中的方法,这个时候可以使用动态代理
2、spring的AOP,在执行一个方法之前或执行之后,需要调用其它方法
Q:执行流程
A:(类A实现接口B,类A动态生成代理C,客户端通过代理C访问A,其实也是应用了反射方法和技术)
3、经典实现
RMI是动态代理的经典实现之一,服务端生成动态代理类stub,stub代理客户端请求服务端,服务端返回结果
时间: 2024-10-20 10:51:36