您的位置:首页 > 编程语言 > Java开发

用java5读写技术实现一个伪缓存技术

2015-03-28 11:12 393 查看
package com.example.cache;

import java.util.HashMap;

import java.util.Map;

import java.util.concurrent.locks.ReadWriteLock;

import java.util.concurrent.locks.ReentrantReadWriteLock;

/**

*

* @author 宋小亮

*

*/

public class Cache {

private Map<String,Object> cacheMap = new HashMap<>();

private ReadWriteLock rw = new ReentrantReadWriteLock();

public static void main(String[] args){

}



//获取数据

//缓存中的数据都保存在类似HaspMap的结构中,所以可以根据key来获取value

public Object get(String key){



rw.readLock().lock();

Object value = null;

try{

//缓存中没有数据,实际情况下就要从数据库中查询出来,然后放到Map中。

value = cacheMap.get(key);

if(value == null){

rw.readLock().unlock();

rw.writeLock().lock();

try{

if(value == null)

value="aaa";

}finally{

rw.writeLock().unlock();

}

rw.readLock().lock();

}

}finally{

rw.readLock().unlock();

}



return value;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: