知识大全 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)

Java程序性能优化-缓存(Cache)(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 Java程序性能优化(3)

Java程序性能优化(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  十四对于boolean

知识大全 Java程序性能优化-负载均衡(3)

Java程序性能优化-负载均衡(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(3)

Java程序性能优化-代理模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-单例模式(3)

Java程序性能优化-单例模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-装饰者模式(3)

Java程序性能优化-装饰者模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-对象复用“池”(3)[1]

Java程序性能优化-对象复用“池”(3)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化-对象复用“池”(3)[2]

Java程序性能优化-对象复用“池”(3)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Java程序性能优化-观察者模式(3)

Java程序性能优化-观察者模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-看懂程序的性能

Java程序性能优化-看懂程序的性能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!