首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Map在Java中结构缓存对象的原理及实现

2013-10-28 
Map在Java中构造缓存对象的原理及实现Map在Java中构造缓存对象的原理及实现在实际的项目中,当我们对于某些

Map在Java中构造缓存对象的原理及实现
Map在Java中构造缓存对象的原理及实现在实际的项目中,当我们对于某些数据需要经常去访问的时候,我们一般的做法都是将其数据放置到一个缓存(Cache)对象中去,可以达到使用空间节省时间的效果。同时,缓存的使用,也可以减少我们对硬盘或者数据库的频繁访问。达到了比较理想的效果。     这就是为什么我们在java中需要对某个对象设置缓存的原因(也即原理)。在Java中最常见的一种实现缓存的方式就是使用Map,而缓存的实现则主要分为三大步骤:第一:先到缓存里面查找是否有我们需要的对象,若是存在,则直接返回。第二:若是缓存里面没有该对象,则将其数据添加到缓存中去。以备下次使用。第三:如果找到了相应的数据,或者是创建了相应的数据,那就直接使用这个数据。     然而,java中Map对象的key设置为String类型,也是为了查找的方便。   

/**
* Java中缓存的基本实现示例
*/
public class JavaCache {
/**
* 缓存数据的容器,定义成Map是方便访问,直接根据Key就可以获取Value了
* key选用String是为了简单,方便演示
*/
private Map<String,Object> map = new HashMap<String,Object>();

private ObjectDao objectDao = null;//一般这个*Dao对象需要我们注入
/**
* 从缓存中获取值

* @param key 设置时候的key值
* @return key对应的Value值
*/
public Object getValue(String key){
//先从缓存里面取值
Object obj = map.get(key);
//判断缓存里面是否有值
if(obj == null){
//如果没有,那么就去获取相应的数据,比如读取数据库或者文件
obj = objectDao.getObjectByKey(key);//这个方法是*Dao实现具体数据库查询的时候调用的方法
//把获取的值设置回到缓存里面
map.put(key, obj);
}
//如果有值了,就直接返回使用
return obj;
}
}

热点排行