当前位置:首页 > CN2资讯 > 正文内容

hadoop21---使用代理修改List,代理流程

10小时前CN2资讯
package cn.itcast_05_proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.ArrayList; import java.util.List; public class ListDemo { @SuppressWarnings({ "rawtypes", "unchecked" }) public static void main(String[] args) throws Exception { final List list = new ArrayList(); //这是被代理的 Object oo = Proxy.newProxyInstance(List.class.getClassLoader(), list.getClass().getInterfaces(),new InvocationHandler() { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.err.println("加入一个对象:"); Object returnValue = method.invoke(list, args);//反射 System.err.println("加入完成。。。。"); if(method.getName().equals("size")){ return 100; } return returnValue; } }); List list2 = (List) oo; list2.add("aaa"); list2.add("bbb"); System.err.println("size:"+list2.size()+","+list.size());//100,2 //为什么调用3次? //list2.size()这个也调用 } } 代理实现流程: 1、书写代理类和代理方法,在代理方法中实现代理Proxy.newProxyInstance 2、代理中需要的参数分别为:被代理的类的类加载器soneObjectclass.getClassLoader(),被代理类的所有实现接口new Class[] { Interface.class },句柄方法new InvocationHandler() 3、在句柄方法中复写invoke方法,invoke方法的输入有3个参数Object proxy(代理类对象), Method method(被代理类的方法),Object[] args(被代理类方法的传入参数),在这个方法中,我们可以定制化的开发新的业务。 4、获取代理类,强转成被代理的接口 5、最后,我们可以像没被代理一样,调用接口的认可方法,方法被调用后,方法名和参数列表将被传入代理类的invoke方法中,进行新业务的逻辑流程。 原业务接口IBoss
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24459.html

    分享给朋友:

    “hadoop21---使用代理修改List,代理流程” 的相关文章

    境外VPS搭建服务指南:如何选择最适合的VPS提升网站与业务性能

    网站建设与个人博客 境外VPS是搭建网站和个人博客的理想选择。对于初学者来说,选择价格实惠的VPS主机可以作为一个很好的练手机会。像RackNerd、EthernetServers、CloudCone和HostEONS这样的提供商,提供年付低至9美元的VPS服务,非常适合预算有限但又想尝试网站搭建的...

    ADSL技术详解:了解ADSL有多少波特与速率

    ADSL,即非对称数字用户线,是一种通过现有电话线提供互联网接入的技术。简单来说,ADSL允许我们在不干扰电话通话的情况下,访问互联网并提供比传统拨号更快的速度。对于那些希望在家中使用互联网的人来说,这无疑是一个巨大的进步。 从历史的角度来看,ADSL在90年代末期逐渐进入大众视野,到了2000年代...

    探索韩国VPS服务:选择高性能低延迟的虚拟专用服务器

    在数字化迅猛发展的今天,韩国的VPS(虚拟专用服务器)越来越受到用户的青睐。许多企业和个人用户都开始关注这个区域,特别是那些需要稳定网站和应用程序的人。这篇文章将为你深入探讨韩国VPS的市场需求和背景,以及它在不同场景中的适用性。 首先,韩国VPS市场的兴起与其优越的网络基础设施密不可分。韩国位于东...

    蘑菇云:自然与核爆炸的惊人现象及其深远影响

    蘑菇云这个词,一提起来让人既熟悉又敬畏。它的外形就像个倒立的蘑菇,顶部宽大、底部则较小,这是因为它源自于强大爆炸所产生的气体。这种云朵看似平常,却是一种强烈爆炸后气体与空气混合的结果。虽然蘑菇云在现代多被与核爆炸联系在一起,但实际上,火山喷发及一些天体撞击也可能产生自然形成的蘑菇云。 了解蘑菇云的形...

    国外离线下载服务比较:如何选择最适合你的工具

    在信息时代,国外离线下载服务成为了许多用户的得力助手。这种服务的主要功能,是让用户在没有网络连接的情况下,也能提前将所需的数据或文件下载到本地或云端存储中。这种方法特别适合那些经常出行或在网络不佳的环境中工作的用户。通过离线下载,用户可以在网络恢复后更快、更方便地访问所需内容。 离线下载的应用非常广...

    连接测试地址的全面解析与故障排查技巧

    在网络管理和故障排查的过程中,连接测试地址扮演了重要角色。这些特定的IP地址并不指向任何实际的网络设备,因此在进行网络测试时,它们能够确保不会对现有的网络结构造成影响。简单来说,连接测试地址允许我们在不干扰现有设备的情况下,检查和验证网络的状态。 说到连接测试地址,我想起两个常见的:127.0.0....