https://www.jianshu.com/p/6e962d1e7ddd
动态代理是在运行时,通过反射机制实现动态代理,并且能够代理各种类型的对象
在Java中要想实现动态代理机制,需要java.lang.reflect.InvocationHandler接口和 java.lang.reflect.Proxy 类的支持
java.lang.reflect.InvocationHandler接口的定义如下:
//Object proxy:被代理的对象 //Method method:要调用的方法 //Object[] args:方法调用时所需要参数 public interface InvocationHandler { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable; }
java.lang.reflect.Proxy类的定义如下:
//CLassLoader loader:类的加载器 //Class<?> interfaces:得到全部的接口 //InvocationHandler h:得到InvocationHandler接口的子类的实例 public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException
这篇可能涉及到原理 https://blog.csdn.net/mhmyqn/article/details/48474815