JDK动态代理

1. 代理模式

当一个对象不能直接使用,可以在客户端和目标对象直接创建一个中介,这个中介就是代理

2. 作用

  1. 控制访问:在代理中,控制是否可以调用目标对象的方法。
  2. 功能增强:可以在完成目标对象的调用时,附加一些额外的功能,这些额外的功能叫做功能增强。

3. 代理的实现方式

  1. 静态代理:代理类是手工实现的java文件,同时代理的目标对象是规定的。
    1. 优点:容易理解、使用方便
    2. 缺点:在目标类比较多的时候,会产生大量的代理类;当接口改变时,影响的目标类和代理比较多,都需要修改
  2. 动态代理:使用反射机制,在程序执行中,创建代理类对象。不用创建类文件,代理的目标类是活动的,可设置的
    1. 不用创建代理类
    2. 可以给不同的目标随时创建代理

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!