java 动态代理详解

本文详细介绍了Java动态代理机制中的核心接口InvocationHandler和Proxy。InvocationHandler接口用于处理代理实例的方法调用,而Proxy接口则用于动态创建代理类。在方法调用时,InvocationHandler的invoke方法会被触发,接收代理对象、方法及参数。通过Proxy的newProxyInstance方法,可以指定ClassLoader、一组接口和InvocationHandler来创建动态代理实例。文章通过示例展示了动态代理的实现步骤,包括定义接口和类,创建动态代理类,以及编写测试代码。
摘要由CSDN通过智能技术生成

在java动态代理机制中有两个很重要的接口,一个就是java.lang.reflect.InvocationHandler,另一个就是java.lang.reflect.Proxy。首先介绍下这两个接口的作用和参数。
InvocationHandler API中简介是:
Each proxy instance has an associated invocation handler.When a method is invoked on a proxy instance, the method invocation is encoded and dispatched to the {@code invoke} method of its invocation handler.
大概意思是每个动态代理类都要实现InvocationHandler接口,并且关联到一个handler,通过代理对象调用时,这个接口的方法调用就会转接到该handler的invoke方法进行调用。
接下来了解下invoke方法:

public Object invoke(Object proxy, Method method, Object[] args)

共有三个参数,分别介绍下:
1 proxy,该参数是代理的真实对象
2 method,该参数是代理的方法
3 代理方法中接受的参数

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值