您的位置:首页 > 编程语言 > Java开发

Hadoop RPC热身之Java 动态代理

2014-12-07 16:31 218 查看
生活中,大家接触各种各样的代理,医学行业有个药代(听说也很赚钱)。代理其实就一种委托。

言归正传,你是个类,我也是个类,你委托我来执行你的方法。你是我的,我还是我的。所以我可以在调用你的方法之前,之后执行一些操作。

为什么要使用代理呢,网上会告诉你可以使用事务啊,日志啊。举个应用例子,Spring的AOP(面向切面编程)。

动态代理的使用过程如下:

创建一个业务接口(1),并提供实现类,这个叫目标类。再创建一个类(2)实现InvocationHandler接口,在实现方法invoke中你可以添加诸如事务,日志的操作。

使用的时候,通过Proxy这个类给你创建一个代理类。当然,你要给他这些参数:相同的类加载器,业务接口(1),InvocationHandler实现类(2)。这样你就可以

使用得到的proxy了。

比如打印hadoop版本代码如下:

业务类1实现业务接口



业务类2实现业务接口



测试,里面有两个类。



运行结果如下:



以后有机会会把动态代理实现机制贴出来,对分析Hadoop RPC机制够用了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: