动态代理笔记

动态代理

底层实现为动态代理

什么是动态代理

使用jdk的反射机制,拥有创建对象的能力 创建的是代理类的对象 而不用你创建类的文件 不用写java文件

动态:在程序执行时 调用jdk提供的方式才能创建代理类的对象

动态代理能做什么

可以在不改变原来目标方法功能的前提下 可以在代理中增强自己的代码功能

换句话说:

​ 你所在的项目中,有一个功能是其他人写好的 你可以使用

​ 但是你发现这个功能不是很完善缺点功能 不满足自己的需求

​ 我需要在他的代码执行后 自己再写点代码 增加自己的功能

​ 而且用的代理实现的 自加自己的代码 原来的代码没变化

作用

1.功能增强:在你原有的功能上 增加额外的功能 新增加的功能 就是功能增强

2.控制访问:代理类不让你访问目标 例如:商家不让用户直接访问厂家

代理实现方式

1.静态代理:自己手工实现的 自己创建的Java类 同时你代理的目标类是确定的 表示为代理类

优点:实现简单 容易理解

缺点:当你的目标类增多时候 代理类可能需要成倍增加 代理数量也会增加 当你的接口中功能增加 或者 修改了 会影响你的实现类 厂家类 需要修改很多的代码

2.动态代理:当静态代理很多时候 可以使用动态代理

​ 1.目标类即使很多 代理类的数量也可以很少

​ 2.当你修改了接口中的方式时 不会影响你的代理类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值