类加载器
BootStrap JRE/lib/rt.jar
ExtCalssLoader JRE/LIB/ext/*.jar
AppClassLoader CLASSPATH指定的所有jar或目录
代理
为已经存在的多个具有相同接口的目标类的各个方法增加一些系统功能
编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法的基础上加上系统功能代码。
动态代理
Jvm在运行时期动态生成出类的字节码,这种动态生成的类往往被用作代理
Jvm生成的动态类必须实现一个或者多个接口,生成的动态类只能用作具有相同接口的目标类的代理。
CGLIB库可以动态生成一个类的子类,一个类的子类也可以用作该类的代理,所以,如果要为一个没有实现接口的类生成动态代理类,那么可以使用CGLIB库
代理类的各个方法中通常除了要调用目标的相应方法和对外返回目标返回的结果外,还可加上系统功能代码。在目标方法之前、后、前后、异常处理中。
---------------------- android培训、java培训、期待与您交流!
----------------------详细请查看:http://edu.csdn.net/heima