今天遇到一个问题,就是动态代理的Proxy的静态方法的第一个参数,按理说应该要写的是跟被代理类一样的类加载器,所以正确的写法感觉应该是图一,但是图二这种用main方法所在的类的类加载器也能一样的实现,就不太明白了。
默认使用的就是jdk动态代理类,所以两者是一致的
图二的JDKProxy是JDK提供的Proxy动态代理,通过该方法生成字节码,动态的创建了一个代理类,interfaces参数是该动态类所继承的所有接口,而继承InvocationHandler 接口的类则是实现在调用代理接口方法前后的具体逻辑。