代理:
1.静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了
2.动态代理:在程序运行时运用反射机制动态创建而成
JDK和CGLIB动态代理的差别:
1.JDK是基于java反射机制实现的,必须实现接口的业务才能生动态代理对象
2.cglib是基于ASM机制实现的,他会生成业务类的字类作为代理类
JDK代理的优点:最小依赖减少维护,代码简洁
cglib:无需实现接口,无侵入代码,性能高
来源:oschina
链接:https://my.oschina.net/wenhuayuan/blog/4910064