静态代理:添加新功能不影响自己原有和父类,如baseServlet 缺陷:修改原有功能会影响原有代码
动态代理:Proxy.newProxyInstance() 面向方法编程(面向切面aop),不改类不继承,增强方法 缺陷:不灵活,依赖接口,必须有一个接口
cglib代理:生成了cglib子类,不依赖接口 缺点:父类属性过多,生成子类占用更多内存