qq:800819103
在线客服,实时响应
qq群
在线客服,实时响应
客服电话
13318873961大家可能对代理有一定的了解,但不一定知道代理模式,代理模式它是一种设计模式,提供了对目标对象额外的访问方式。比方说,代售点代理了火车站对象,提供购买车票的方法。那么代理模式有几种?代理模式的优缺点有哪些呢?一起跟黑洞代理去了解一些代理模式的基础知识。
一、代理模式有几种
1.动态代理
是在运行的时候,通过jvm中的反射进行动态创建对象,生成字节码对象(构造方法参数 InvocationHandler h类型),传入由我们实现InvocationHandler接口的对象,通过反射创建代理对象。 然后当调用代理对象的任何方法都会调用h中的 invoke(Object proxy,Method method,Object[] args)传入当前代理对象、当前调用的方法、方法参数值。
2.静态代理
代理类由程序员创建的然后编译成.class文件。但是其中缺点是,具有重复代码,灵活性不好,例如在执行接口A中所有方法之前加上日志逻辑,那么使用静态代理的话,在代理类中每个方法都得加,如果我想add* 开头方法加上一种逻辑,select* 开头方法加上另一种逻辑,那么就很难去实现和维护了,想解决以上困惑就要使用动态代理了。
二、代理模式的优缺点
1.目标对象单一
静态代理实现较简单,只要代理对象对目标对象进行包装,即可实现增强功能,但静态代理只能为一个目标对象服务,如果目标对象过多,则会产生很多代理类。
3.实现多个类
静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类。
4.比较消耗系统性能
动态代理必须实现InvocationHandler接口,通过反射代理方法,比较消耗系统性能,但可以减少代理类的数量,使用更灵活。CGLIB实现动态代理,并不要求被代理类必须实现接口。
5.class文件
静态代理在编译时就已经实现,编译完成后代理类是一个实际的class文件。动态代理是在运行时动态生成的,即编译完成后没有实际的class文件,而是在运行时动态生成类字节码,并加载到JVM中。
对于代理模式有几种?代理模式的优缺点有哪些?通过上文的了解,相信大家都有一定的了解了。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
相关文章内容简介
1 代理模式有几种?代理模式的优缺点有哪些?
大家可能对代理有一定的了解,但不一定知道代理模式,代理模式它是一种设计模式,提供了对目标对象额外的访问方式。比方说,代售点代理了火车站对象,提供购买车票的方法。那么代理模式有几种?代理模式的优缺点有哪些呢?一起跟黑洞代理去了解一些代理模式的基础知识。一、代理模式有几种1.动态代理是在运行的时候,通过jvm中的反射进行动态创... [阅读全文]
最新标签
推荐阅读
09
2018-11
付费代理ip有哪些?切换ip最好的付费代理
付费代理ip有哪些?免费代理IP并不多,可用率也低,通常只有初学爬虫者使用,使用前还需要先验证提取有用的IP,毕竟免费提供的IP质量是难以保证的,那么使用付费代理ip效果好吗?
22
2019-04
代理IP的用途你知道多少?
大数据时代下,数据采集推动着数据分析,数据分析推动发展。但是在这个过程中会出现很多问题。拿最简单最基础的爬虫采集数据为例,过程中就会面临,IP被封,爬取受限、违法操作等多种
30
2019-01
手机电脑使用代理是否安全?
现在很多的软件都会获取个人的一些信息,这代理软件会不会也获取我们的个人信息呢?比如,我们使用代理去获取数据,在这当中,会不会记录了我们的账号密码呢?我们的手机电脑使用代理
27
2019-05
怎么最大发挥代理ip的应用
更换ip地址软件出现的时间并不是太久,前后也就是几年时间而已,但是如今代理ip工具更换ip地址软件真可谓是蓬勃发展,日日高升。大家不难想象,随着互联网的不断发展,肯定会带动一些互
热门文章