知识大全 Java程序性能优化-缓存(Cache)(3)
Posted 知
篇首语:知识是万物中的指路明灯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-缓存(Cache)(3)相关的知识,希望对你有一定的参考价值。
Java程序性能优化-缓存(Cache)(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
缓存(Cache)( )
在这个方法拦截器中 实现了对缓存的操作 它首先查询系统是否已经计算并缓存了所请求的数字 如果没有 则进行计算 并将结果保存在缓存中 如果有 则直接从缓存中取得结果 在使用动态代理时 可以通过下面的代码生成动态代理对象 包含上述缓存逻辑
public static HeavyMethodDemo newCacheHeavyMethod()//生成带有缓存功能的类
Enhancer enhancer = new Enhancer()
enhancer setSuperclass(HeavyMethodDemo class)
enhancer setCallback(new CglibHeavyMethodInterceptor()) //设置缓存逻辑
HeavyMethodDemo cglibProxy = (HeavyMethodDemo) enhancer create()
return cglibProxy;
以上代码首先生成一个HeavyMethodDemo类的子类 并使用CglibHeavyMethodInterceptor作为它的方法拦截器 最后生成动态类的对象 这个对象是HeavyMethodDemo的动态子类的实例
以下代码只是简单地生成了HeavyMethodDemo类 下文将对newHeavyMethod()和newCacheHeavyMethod()生成的对象进行简单的性能测试
public static HeavyMethodDemo newHeavyMethod() //不带有缓存功能
return new HeavyMethodDemo()
一段测试代码如下 它分别使用代理类对象和HeavyMethodDemo对象 对一个大整数进行因式分解运算 在笔者的计算机上 使用动态代理的缓存对象相对耗时 ms 而HeavyMethodDemo相对耗时 ms
public static void main(String args[])
HeavyMethodDemo m=newCacheHeavyMethod() //使用缓存
long begin = System currentTimeMillis()
for(int i= ;i< ;i++) //使用缓存时 只需要计算一次
m heavyMethod( )
System out println( cache method spend: +(System currentTimeMillis()
begin))
m=newHeavyMethod() //不使用缓存
begin = System currentTimeMillis()
for(int i= ;i< ;i++) //不使用缓存时 每次都要计算
m heavyMethod( )
System out println( no cache method spend: +(System currentTimeMillis()
begin))
返回目录 Java程序性能优化 让你的Java程序更快 更稳定
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
J ME移动开发实战教学视频
Visual C++音频/视频技术开发与实战
Oracle索引技术
cha138/Article/program/Java/gj/201311/27802相关参考
Java程序性能优化-缓存(Cache)(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java程序性能优化(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 十四对于boolean
Java程序性能优化-负载均衡(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-代理模式(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-单例模式(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-装饰者模式(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Java程序性能优化-对象复用“池”(3)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-对象复用“池”(3)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-观察者模式(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Java程序性能优化-看懂程序的性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!