----------------------android培训、java培训、期待与您交流! ----------------------
(1)BootStrap:一个特殊的类加载器,内置在JVM中。
System类就是由它加载。(2)加载范围:
BootStrap: jre/lib/rt.jar
ExtClassLoader: jre/lib/ext/*.jar
AppClassLoader: 其他
(3)查找加载器过程:先由最上级加载器查找,
若没有找到再依次由下层尝试加载。(委托加载)
(4)自定义类加载器:
实现ClassLoader类,重写findClass方法,保留loadClass中的流程。
(5)一个类中用到了另一个类,则这另一个类由加载第一个类的加载器加载。
(6)AOP:面向方面编程。使贯穿到多个模块中的功能模块化。
(7)动态代理:基于JVM的动态生成类功能。动态生成的类必须实现接口。
(8)CGLIB库:可以生成没有实现接口的类的代理。
(9)Proxy的getProxyClass动态获得代理类。
生成的代理类没有无参构造方法,只有一个接受InvocationHandler的构造方法。
或者用newProxyInstance直接创建对象。
代理内部使用InvocationHandler重写的invoke方法调用目标的各个方法。
代理仅对Object类继承下来的toString,hashCode和equals方法委托给InvocationHandler。
建立代理类通常传入两个类:目标 和 添加的其他处理的类。
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima