Java 代理
来源:互联网 发布:通达信的行情软件 编辑:程序博客网 时间:2024/06/06 14:09
1 代理的基本理论知识
代理模式:
代理模式是常用的java设计模式,他的特征是与代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息,过滤消息,把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过通用调用委托类的对象的相关方法,
静态代理:由程序员创建或特性工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。
动态代理:在程序运行时,运用反射机制动态创建而成。
2 事例代码
接口类:
public interface Subject { public void doSomething();}实现类:
public class RealSubject implements Subject { @Override public void doSomething() { System.out.println("doSomething"); }}
ProxyHandle
public class ProxyHandler implements InvocationHandler { private Object proxied; public ProxyHandler(Object proxied){ this.proxied = proxied; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("proxy class"); return method.invoke(proxied,args); //通过实现类去调用对应的接口 }}
public class ProxyTest { @Test public void test(){ RealSubject realSubject = new RealSubject(); Subject proxySubject = (Subject) Proxy.newProxyInstance(Subject.class.getClassLoader(), new Class[]{Subject.class}, new ProxyHandler(realSubject)); proxySubject.doSomething(); }}
3 Proxy类:
Proxy类是专门完成代理的操作类,可以通过此类为一个或多个接口动态地生成实现类,此类提供了如下的操作方法:
public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)
3 代理的分析
0 0
- Java 代理,动态代理
- java代理静态代理
- Java代理
- java代理
- java代理
- java 代理
- java代理
- JAVA 代理
- Java----代理
- java代理
- java代理
- java代理
- java代理
- java 代理
- java 代理
- java代理
- java代理
- Java----代理
- :w !sudo tee %
- concat和concat_ws()区别orcale及MySQL的几个实用字符串函数group_concat
- Java 回顾笔记6 (上午)_继承
- 基于蓝牙对等网络通信
- SMTP服务使用
- Java 代理
- LEETCODE 17 Letter Combinations of a Phone Number (JAVA题解)
- 在C语言中,double、long、unsigned、int、char类型数据所占字节数
- Android中aidl的解析和使用
- siterator中status使用方法
- JavaScript作用域学习笔记
- 利用 libevent 实现简单 http client GET、POST
- 登陆问题
- JSON中get()和opt()的区别