实现缓存 java实现
2017-10-28 20:52
281 查看
主要用了java的读写锁,读的时候加读锁,要写入数据的时候加写锁,不难的
import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; public class CacheDemo { private static Map<String, Object> map = new HashMap<String, Object>(); private static ReadWriteLock rwl = new ReentrantReadWriteLock(); public static void main(String[] args) { } public static Object get(String id) { Object value = null; rwl.readLock().lock(); try { value = map.get(id); if (value == null) { rwl.readLock().unlock(); rwl.writeLock().lock(); try { if (value == null) { value = "aaa"; }//这边可以根据自己的需要改改,我随便写的 } finally { rwl.writeLock().unlock(); } rwl.readLock().lock(); } } finally { rwl.readLock().unlock(); } return value; } public static void set(String id, Object test) { rwl.writeLock().lock(); try { if(map.containsKey(id)) { map.remove(id); map.put(id, test); } } finally { rwl.writeLock().unlock(); } } }
相关文章推荐
- JAVA缓存的实现
- 使用java5的注解和Sping/AspectJ的AOP 来实现Memcached的缓存
- 用JAVA实现缓存
- java缓存的简单实现
- Java实现简单的LRU缓存(A Simple LRU Cache in 5 lines)
- Java双缓存实现
- JAVA缓存的实现
- java实现缓存(转载)
- 一个简单的JAVA 缓存实现
- JAVA实现图片下载至缓存处理后,再上传FTP
- LRU缓存介绍与实现 (Java)
- JAVA缓存的实现
- java 实现缓存
- LRU缓存介绍与实现 (Java)
- HASHMAP缓存简单java实现
- Java中读写锁的实现及使用读写锁简单实现缓存系统的实例
- Java实现LRU(最近最少使用)缓存
- java实现缓存
- 一个不错的java缓存实现,有空好好研究下
- java中读写锁的实现及使用读写锁简单实现缓存系统的实例