代理

简介: 概念代理:代替处理,又称委托模式。实现:为目标对象提供(包装)了一个代理,这个代理可以控制对目标对象的访问。外界不直接访问目标对象,而是访问代理对象,再由代理对象调用目标对象。

概念

代理:代替处理,又称委托模式。

实现:为目标对象提供(包装)了一个代理,这个代理可以控制对目标对象的访问。外界不直接访问目标对象,而是访问代理对象,再由代理对象调用目标对象。

20191121112334607.png

分类:静态代理、动态代理

静态代理

代理对象持有目标对象的一个句柄,

其实就是将目标对象的引用作为代理对象的成员变量。

缺点:因为要对目标对象的每个方法都进行静态编码包装,所以目标对象中有多少个方法,静态代理对象中就需要有多少个方法。目标对象中方法过多的时候,代理对象就会显的臃肿,也不便于维护和拓展。

代码实现

20191121112519487.png

动态代理

所谓动态代理其实就是产生一个被处理器全面监听的代理对象出来,这个代理对象的每次方法调用都会被处理器拦截下来。

20191121112727294.png

代码实现:

四要素:接口、实现类(被代理对象)、处理器、代理对象。

接口

2019112111315217.png

实现类:

2019112111315875.png

处理器:

实现InvocationHandler接口,持有被代理对象。

核心方法——invoke,调用被代理对象的相应目标方法。

20191121113206338.png

测试:

调用Proxy类中的newProxyInstance方法生成代理对象。

传入参数——处理器、实现类类加载器、实现类的父接口。

20191121113213181.png

目录
相关文章
|
11月前
|
数据采集 缓存 数据挖掘
什么是代理IP?代理IP有什么用途
什么是代理IP?代理IP有什么用途
241 0
|
Web App开发 数据安全/隐私保护
如何在AdsPower中设置易路代理YiLuProxy?
如何在AdsPower中设置易路代理YiLuProxy?
278 0
|
7月前
|
数据采集
芝麻代理、快代理、神龙代理、小象代理…如何挑选适合的代理IP?
本文介绍了如何选择适合项目需求的代理IP服务。首先,需明确具体应用场景和需求,不同场景对代理IP的要求各异。其次,选择合适的代理类型,如HTTP、HTTPS或SOCKS5。稳定性和速度是核心要素,需关注代理IP的稳定性指标和网络延迟。成本方面,应综合考量性价比,并进行实际测试。最后,选择提供优质服务支持的供应商,以确保问题能够及时解决。通过这些步骤,可以找到最适合项目的代理IP服务。
|
10月前
|
JavaScript API
怎么进行代理
怎么进行代理
107 1
|
11月前
|
数据采集 安全 数据中心
数据中心代理IP与普通代理IP有何区别?
数据中心代理IP与普通代理IP主要区别在于来源、稳定性、速度、隐私安全及可用地区。数据中心代理IP更稳定、速度快、隐私安全,提供全球IP,适合大规模爬取和数据采集;普通代理IP来源于个人或小组织,可能不稳定、速度慢,但能满足一般代理需求。
|
11月前
|
安全 网络安全 数据安全/隐私保护
socks5代理如何工作?socks5代理可以用来做什么?
本文介绍了socks5代理,一种能传输二进制数据的协议代理,提供更好的安全性和灵活性。它在客户端和服务器间作为中介,支持加密通信,适用于突破网络限制、保护隐私和加速访问。选择socks5代理应考虑稳定性、速度、安全性和透明性,以及对多协议的支持。
|
11月前
|
存储 Python
ProxyBroker-代理IP管理
ProxyBroker-代理IP管理
138 0
|
数据采集 机器学习/深度学习
IP代理
爬虫系列文章
2265 0
|
Cloud Native Java Go
gPRC代理方式详细介绍
gPRC代理方式详细介绍
196 0