Hadoop技术内幕HDFS-笔记5之动态代理
2014-06-30 23:09
337 查看
1.1. java动态代理
java.lang.reflect包下的Proxy(创建代理对象)和InvocationHandler(调用转发)两个类代理对象代表目标对象(target)执行相应的活动
静态代理:代理对象实现目标对象一致的接口,实现代理接口和调用转发 (不推荐使用)
在调用前后的附加逻辑,体现了代理对象的价值
代码示例:
1、 java动态代理接口 package proxy; public interface BookDAO { //增加图书的实现 public void addBook(); } 2、 创建实现类(目标类) package proxy; public class BookDAOImpl implements BookDAO { @Override public void addBook() { // TODO Auto-generated method stub System.out.println("增加图书的实现方法...."); } } 3、 创建代理类 package proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; //JDK动态代理类实现 public class BookDAOProxy implements InvocationHandler{ //实际代理对象 private Object target; //绑定委托对象并返回一个代理类 public Object bind(Object target){ this.target = target; //取得代理对象 //要绑定接口(这是一个缺陷,cglib弥补了这一缺陷) return Proxy.newProxyInstance( this.getClass().getClassLoader(), this.target.getClass().getInterfaces(), this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // TODO Auto-generated method stub Object result = null; System.out.println("事务开始处理..."); //执行方法 result = method.invoke(target, args); System.out.println("事务结束处理..."); return result; } } 4、 测试类: package proxy; public class BookTest { public static void main(String[] args) { //获得一个动态代理类 BookDAO proxy = (BookDAO) new BookDAOProxy().bind(new BookDAOImpl()); //调用代理类的方法 proxy.addBook(); } }
1.1. java NIO(自行研究)
涉及网络编程相关文章推荐
- Hadoop技术内幕HDFS-笔记1
- Hadoop技术内幕HDFS-笔记6之RPC
- Hadoop技术内幕HDFS-笔记2
- Hadoop技术内幕HDFS-笔记4之压缩
- java动态代理,结合hadoop技术内幕中的例子
- Hadoop技术内幕HDFS-笔记4之远程调用
- Hadoop技术内幕HDFS-笔记3之序列化
- 2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理
- Mybatis3.3.x技术内幕(二):动态代理之投鞭断流(自动映射器Mapper的底层实现原理)
- 黑马程序员_JAVA动态代理技术学习笔记
- 深入探索spring技术内幕(六): JDK动态代理和cglib生成代理
- AOP编程学习笔记之----JDK动态代理技术
- 深入探索spring技术内幕(六): JDK动态代理和cglib生成代理
- 深入探索spring技术内幕(六): JDK动态代理和cglib生成代理
- VC++技术内幕(第四版)笔记(第4章)
- VC++技术内幕(第四版)笔记(第16章)
- VC++技术内幕(第四版)笔记(第13章)
- 主题:寻求VC++技术内幕(第四版)笔记和孙鑫VC++讲座笔记志愿者
- VC++技术内幕(第四版)笔记(第17章)
- VC++技术内幕(第四版)笔记(第8章)