代理构架图:
动态代理的工作原理
一、用构造方法创建代理类
1)得到代理类的Class对象,反射出所有构造方法、所有方法
package jingtianxiaozhi;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Collection;
public class Test2 {
public static void main(String[] args) {
Class proxyClass=Proxy.getProxyClass(Collection.class.getClassLoader(),Collection.class);
System.out.println("-----------------实体类名--------------");
System.out.println(proxyClass.getName());
System.out.println("-----------------构造函数--------------");
/*$Proxy0(java.lang.reflect.InvocationHandler)*/
Constructor[] constructors = proxyClass.getConstructors();
for(Constructor constructor : constructors){
String name = constructor.getName();
StringBuilder sBuilder = new StringBuilder(name);
sBuilder.append('(');
Class[] clazzParams =