黑马程序员_高新技术学习笔记第九章
来源:互联网 发布:sift算法原理 编辑:程序博客网 时间:2024/05/13 18:50
---------------------- android培训、java培训、期待与您交流! ----------------------
动态代理技术
目标类,代理类,接口,Client调用程序
doSomeThing()
{前置
目标对象.doSomeThing()
后置
}
AOP面向方面编程
模块的交叉业务
安全,事务,日志等功能要贯穿到多个模块中,所以它们居寺交叉业务
JVM可以运行期间生成出类的字节码
生成的类往往被用作代理类
生成动态类必须实现一个或多个接口
目标类没有实现接口 CGLIB 生成一个类的子类
代理方法中如下,第四个位置是处理目标方法异常的catch块中
生成动态类
java.lang.reflect.Proxy
下 Class getProxyClass(ClassLoader loader//妈妈,Class<?>...interface//字节码实现了哪些接口)
Class clazzProxy1 = Proxy.getProxxyClass(Collection.class.getClassLoader()//通常是后面字节码的加载器,Collection.class);
StringBuilder sBuilder = new StringBuilder(name);
单线程
多线程使用StringBuffer//考虑线程安全
Class clazzParams = constructor.getParameterTypes();
//数组
sBuilder.deleteCharAt(length-1);
!=null&&!=0
newProxyInstance
public static Object newProxyInstance(ClassLoader loader,//类加载器
Class<?>[] interfaces,//实现的接口列表
InvocationHandler h)//InvocationHandler实例对象
throws IllegalArgumentException
返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序。
InvocationHandler
生成动态代理类
加载器 接口
创建动态类的实例对象
Invocation.class 作为构造方法的参数
constructor.newInstance()
关于动态代理目前很多东西还不能理解
可以参考
http://blog.csdn.net/dyh8818/article/details/314668
----------------------android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员_高新技术学习笔记第九章
- 黑马程序员_高新技术学习笔记(第五章_上)
- 黑马程序员_高新技术学习笔记(第五章_下)
- 黑马程序员_高新技术学习笔记(第三、四章)
- 黑马程序员_高新技术学习笔记(第六、七章)
- 黑马程序员_高新技术学习笔记第八章
- 黑马程序员_高新技术笔记
- 黑马程序员_对于Java高新技术的学习笔记
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 黑马程序员_高新技术
- 进程控制
- iphone+ios+loadView/viewDidLoad/initWithNibName/awakeFromNib/initWithCoder/initWithFrame
- Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解
- MySql数学函数
- 关于C语言中的结构体对齐问题
- 黑马程序员_高新技术学习笔记第九章
- opencv各种内存泄露情况的大总结
- 关联数据挖掘及相关算法
- mini2440构建根文件系统
- PHP中的二进制安全是什么意思
- How to determine the size of an object of class?
- android开发之设置Edittext密码的方法
- PostgreSQL的数据存储(一)---概述
- C/C++ 常用函数与算法速查手册已经出版,谢谢大家提问!