一、jdk动态代理
代理目标:接口
是怎样实现代理的?
创建动态代理类的具体过程:
1.传入被代理对象
2.通过代理对象的接口,编织代理对象的java源码
3.当编织到方法时,将Invocationhandler.invoke()方法编织进入方法内部执行,这个时候invoke方法会拿到方法名以及参数,被代理对象在被Invocation描述invoke方法的时候拿到了,所以此时的被编织进入的invoke方法时持有被代理对象的,并且通过反射调用了被代理对象的方法,这就是动态代理的基石。
4.编译,加载得到代理对象。
newProxyInstance(被代理对象加载器,被代理对象实现的接口,Invocatiohandler(){
invok(method,args){
methd(被代理对象,args);
}
})