花了几个小时终于搞清楚java 的代理,感觉程序和人的行为是相同的。和我们现在的代理真的很相似。
另外关于public Object invoke(Object proxy, Method method, Object[] args)throws Throwable;中的proxy参数的含义java的文档是这么说的 “proxy the proxy instance that the method was invoked on”
将要调用的方法的对象的代理,估计是代理中的代理,具体的我也没查。可能和java 的内部的细节实现有关。我查了很久也没搞明白什么意思。