知识大全 Java实现简单的缓存机制原理

Posted

篇首语:一卷旌收千骑虏,万全身出百重围。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java实现简单的缓存机制原理相关的知识,希望对你有一定的参考价值。

Java实现简单的缓存机制原理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  package qinbo hui;

  /*

  设计思想来自-回钦波(qq: )

  */

  public class CacheConfModel implements java io Serializable

  private long beginTime;

  private boolean isForever = false;

  private int durableTime;

  public long getBeginTime()

  return beginTime;

  

  public void setBeginTime(long beginTime)

  this beginTime = beginTime;

  

  public boolean isForever()

  return isForever;

  

  public void setForever(boolean isForever)

  this isForever = isForever;

  

  public int getDurableTime()

  return durableTime;

  

  public void setDurableTime(int durableTime)

  this durableTime = durableTime;

  

  

  package qinbo hui;

  import java util *;

  import test CacheConfModel;

  /*

  设计思想来自-回钦波(qq: )

  */

  public class CacheMgr

  private static Map cacheMap = new HashMap();

  private static Map cacheConfMap = new HashMap();

  private CacheMgr()

  

  private static CacheMgr cm = null;

  public static CacheMgr getInstance()

  if(cm==null)

  cm = new CacheMgr();

  Thread t = new ClearCache();

  t start();

  

  return cm;

  

  /**

  * 增加缓存

  * @param key

  * @param value

  * @param ccm 缓存对象

  * @return

  */

  public  boolean addCache(Object key Object value CacheConfModel ccm)

  boolean flag = false;

  cacheMap put(key value);

  cacheConfMap put(key ccm);

  System out println( now addcache== +cacheMap size());

  return true;

  

  /**

  * 删除缓存

  * @param key

  * @return

  */

  public  boolean removeCache(Object key)

  cacheMap remove(key);

  cacheConfMap remove(key);

  System out println( now removeCache== +cacheMap size());

  return true;

  

  /**

  * 清除缓存的类

  * @author wanglj

  * 继承Thread线程类

  */

  private static class ClearCache extends Thread

  public void run()

  while(true)

  Set tempSet = new HashSet();

  Set set = cacheConfMap keySet();

  Iterator it = erator();

  while(it hasNext())

  Object key = it next();

  CacheConfModel ccm = (CacheConfModel)cacheConfMap get(key);

  //比较是否需要清除

  if(!ccm isForever())

  if((new Date() getTime() ccm getBeginTime())>= ccm getDurableTime()* * )

  //可以清除 先记录下来

  tempSet add(key);

  

  

  

  //真正清除

  Iterator tempIt = erator();

  while(tempIt hasNext())

  Object key = tempIt next();

  cacheMap remove(key);

  cacheConfMap remove(key);

  

  System out println( now thread================> +cacheMap size());

  //休息

  try

  Thread sleep( * L);

   catch (InterruptedException e)

  // TODO Auto generated catch block

  e printStackTrace();

  

  

  

  

cha138/Article/program/Java/hx/201311/25737

相关参考

知识大全 加载远程图片时,经常因为缓存而得不到更新的解决方法

  原理很简单让你每次获取远程图片的url不同即可复制代码代码如下:cha138/Article/program/Java/JSP/201311/19852

知识大全 页面输出缓存

  最简单的缓存机制把整个Aspx页面保存在服务器端内存中用户请求页面时直接从服务器端内存中提取数数据不在经历页面的生命周期主要用于不经常更新和修改而在第一次编译是时要经过大量处理的数据页面输出缓存是

知识大全 Hibernate缓存机制

Hibernate缓存机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  缓存是位于应用程序与物

知识大全 Java进阶 Java中具有实例缓存的不可变类

Java进阶Java中具有实例缓存的不可变类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  不可

知识大全 Java程序性能优化-缓存(Cache)(1)

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

知识大全 Java程序性能优化-缓存(Cache)(2)

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

知识大全 Java程序性能优化-缓存(Cache)(3)

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

知识大全 java中http断点续传的原理(1)

  (一)断点续传的原理  其实断点续传的原理很简单就是在Http的请求上和一般的下载有所不同而已  打个比方浏览器请求服务器上的一个文时所发出的请求如下  假设服务器域名为文件名为downzip  

知识大全 java中使用泛型

  泛型是在jdk之后才出现的一种机制说简单点就是一个特定的对象可以接收任何的对象例如杯子可以装水也可以装饮料说简单点就是来者不拒什么都要下面我就来写个小例子看一下  写一个接口Info里面什么方法都

知识大全 andriod面试题

如何进行ListView性能优化视图缓存等Android中对View的更新有几种方式?多线程和双缓冲的使用情况AndroidIPC及原理Android多线程处理的机制Android为什么要设计大组件之