A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

动态代理
1、动态代理
Request中的方法的增强
1、继承                :能够控制这个类的构造
2、装饰者        :增强的类和被增强的类实现相同的接口,增强的类中获得被增强的类的引用
缺点:接口中方法过多,只增强其中的某个方法,其他的方法也需要重写
3、动态代理        :被增强的类实现了接口
1.1、代理的概述
1.1.1、概述:

1.1.2、JDK中动态代理        :Proxy对象.
Proxy.newProxyInstance(ClassLoader cl,Class[] interfaces,InvocationHandler ih);
注意:使用动态代理只能用Proxy对象以及newProxuInstance的方法
参数为:ClassLoader               :被装饰对象的类的加载器
  (通常为:对象.getClass().getClassLoader())
Class[]                            :被增强的对象实现的所有接口
  通常为:对象.getClass().getInterfaces()
InvocationHandler  :处理类。
     InvocationHandler

2、动态代理在企业中的应用
2.1、Spring的AOP
AOP的底层使用的就是代理机制:
AOP   :面向切面编程.新的思想,用来解决OOP中遇到的一些问题!!!

3、类加载器
3.1、概念
类的加载器:将Class文件加载到JVM中执行这个文件
3.2、分类
3.2.1、引导类加载器:
JAVA_HOME/jre/lib/rt.jar
3.2.2、扩展类加载器
JAVA_HOME/jre/ext/*.jar
3.2.3、应用类加载器
加载类路径下的所有的class

为了保证类只会加载一次而且不重复加载,类加载器采用全盘委托机制:
例如:
class A {
String a;
}
由应用类加载器得到A.class String,class,委托给扩展类加载器,扩展类加载器又委托给引导类加载器.引导类加载器加载String.class.将其他的类的class向下给扩展类加载器.扩展类加载器没有找到.向下给应用类加载器,将A.class 加载.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马