JDK 和 CGLib动态代理区别

1. JDK 代理

  • 实现InvocationHandlet接口;
  • invoke方法
  • 使用Proxy类,newProxyInstance(class,interface,handler)

特点:

  • 面向接口
  • 反射

2. CGLib动态代理

  • 字节码
  • 实现MethodIntercepter接口;
  • intercept方法
  • 使用了Enhancer
  • getProxy来暴露目标服务。

特点:

  • 可以代理类

速度:

  • 以前:jdk慢;
  • 目前:jdk快;

results matching ""

    No results matching ""