对JAVA动态代理的理解
叫动态代理就代表着有“静态代理”这回事。 而且,通常“动态”至少听着更NB一点。
关键就在于不明白啥叫“动”,这个得跟“静”比较下。
在我的理解,静态代理得自己声明一个类,实现跟被代理对象同样的接口。就是说自己得在编译之前写一个类的定义,由于是写好的,就可以称为“静”了。
动态代理呢,Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) 就搞到了一个实现了指定接口的对象, 并没有在编译之前写好代理类, 于是就成了“动态”了。