2012年6月1日星期五

CGLIB 代理类 效率

昨天看《Spring 3.x企业应用开发实战》

作者建议将<aop:config>中的proxy-target-class设置为true,默认是false.

也就是<aop:config proxy-target-class="true">

 

理由是:当为false时,spring使用java jdk的java.lang.reflect包中提供的方式来生成代理类

当为true时,spring使用CGLIB包中提供的方式来生成代理类

而代理类执行效率,CGLIB生成的代理类要比jdk生成的代理类高10倍

而生成代理类效率,jdk是CGLIB的8倍

 

所以在使用单例模式的bean ,建议使用CGLIB生成代理类

 

如果使用CGLIB生成代理类,必须引入CGLIB的jar包

 

至于作者怎么得到10倍 8倍的结论,想google一下,结果:


 

没有评论:

发表评论