代理模式:为其他对象提供一种代理,以控制对这个对象的访问。代理类的对象本身并不真正实现服务,我们在访问实际对象时,是通过代理对象来访问的。
静态代理:代理和被代理之前都是确定的。都实现相同的接口或继承相同的抽象类
JDK动态代理:代理对象不需要实现接口,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的(是利用JDK的API生成的)。
CGLib代理