java中对静态代理和jdk代理的理解

  1. 静态代理:在程序运行前就已经存在的编译好的代理类是为静态代理。首先,定义业务接口;其次,实现业务接口;然后,定义代理类并实现业务接口;最后便可通过客户端进行调用。
  2. 动态代理:在程序运行期间根据需要动态创建代理类及其实例来完成具体的功能是为动态代理。
  3. spring中AOP基于两种代理模式:JDK代理模式(需要目标对象实现接口),cglib代理模式(基于类的代理,无需实现接口)。
  4. 代理模式的目的就是为真实业务对象提供一个代理对象以控制对真实业务对象的访问,代理对象的作用有: 
  • 代理对象存在的价值主要用于拦截对真实业务对象的访问;
  • 代理对象具有和目标对象(真实业务对象)实现共同的接口或继承于同一个类;
  • 代理对象是对目标对象的增强,以便对消息进行预处理和后处理。
     

1、静态代理

Count.java接口:

CountImpl.java类:

代理类:

CountProxy.java类:

测试类:

Test.java类:

2、jdk动态代理

Count.java接口:

CountImpl.java类:

CountProxy.java类:

其中newProxyInstance()方法:源码

Test.java类:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值