动态代理
Posted King Bruce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态代理相关的知识,希望对你有一定的参考价值。
JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理
CGLIB是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。
Aspectj并不是动态的在运行时生成代理类,而是在编译的时候就植入代码到class文件 ,由于是静态织入的,所以性能相对来说比较好
Java中主要有一下三种类加载器;
Booststrap ClassLoader:此加载器采用C++编写,一般开发中是看不到的;Extendsion ClassLoader:用来进行扩展类的加载,一般对应的是jre\\lib\\ext目录中的类;
AppClassLoader:(默认)加载classpath指定的类,是最常使用的是一种加载器。
动态代理参考:
http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html
http://blog.csdn.net/dreamrealised/article/details/12885739
以上是关于动态代理的主要内容,如果未能解决你的问题,请参考以下文章
设计模式 结构型模式 -- 代理模式(动态代理(JDK动态代理(JDK动态代理要求必须定义接口,对接口进行代理。)动态代理原理(使用arthas-boot.jar查看代理类的结构)动态代理的作用)(代