动态代理

JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理

 CGLIB是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 

 Aspectj并不是动态的在运行时生成代理类,而是在编译的时候就植入代码到class文件 ,由于是静态织入的,所以性能相对来说比较好


Java中主要有一下三种类加载器; 

Booststrap ClassLoader:此加载器采用C++编写,一般开发中是看不到的; 
Extendsion ClassLoader:用来进行扩展类的加载,一般对应的是jrelibext目录中的类; 
AppClassLoader:(默认)加载classpath指定的类,是最常使用的是一种加载器。 

动态代理参考: 

 http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

http://blog.csdn.net/dreamrealised/article/details/12885739 

原文地址:https://www.cnblogs.com/brucetie/p/7798964.html