知识大全 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缓存机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 缓存是位于应用程序与物
Java进阶Java中具有实例缓存的不可变类 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 不可
Java程序性能优化-缓存(Cache)(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java程序性能优化-缓存(Cache)(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java程序性能优化-缓存(Cache)(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
(一)断点续传的原理 其实断点续传的原理很简单就是在Http的请求上和一般的下载有所不同而已 打个比方浏览器请求服务器上的一个文时所发出的请求如下 假设服务器域名为文件名为downzip
泛型是在jdk之后才出现的一种机制说简单点就是一个特定的对象可以接收任何的对象例如杯子可以装水也可以装饮料说简单点就是来者不拒什么都要下面我就来写个小例子看一下 写一个接口Info里面什么方法都
如何进行ListView性能优化视图缓存等Android中对View的更新有几种方式?多线程和双缓冲的使用情况AndroidIPC及原理Android多线程处理的机制Android为什么要设计大组件之