一个简单实用的缓存实例
来源:互联网 发布:windows切换到mac 编辑:程序博客网 时间:2024/06/13 01:52
下面是一个简单缓存的实现摘自:http://www.oschina.net/code/snippet_55577_3887import java.util.Map;import java.util.WeakHashMap;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public final class SimpleCache<K,V> {private final Lock lock = new ReentrantLock();private final int maxCapacity;private final Map<K,V> eden;private final Map<K,V> perm;public SimpleCache(int maxCapacity) {this.maxCapacity = maxCapacity;this.eden = new ConcurrentHashMap<K,V>(maxCapacity);this.perm= new WeakHashMap<K,V>(maxCapacity);}public V get(K k) {V v = this.eden.get(k);if (v == null) {lock.lock();try{v = this.perm.get(k);}finally{lock.unlock();}if (v != null) {this.eden.put(k, v);}}return v;}public void put(K k, V v) {if (this.eden.size() >= maxCapacity) {lock.lock();try{this.perm.putAll(this.eden);}finally{lock.unlock();}this.eden.clear();}this.eden.put(k, v);}}
0 0
- 一个简单实用的缓存实例
- 一个简单实用的Android蓝牙程序实例
- 一个非常的简单的图片copy实例,虽然简单却很实用
- 简单实用的PHP文本缓存类
- 简单实用的ajax缓存类
- 一个简单实用的计算器
- 一个简单实用的轮播器
- 一个实用的PHP缓存类
- 一个简洁实用的PHP缓存类
- 让程序只运行一个实例的简单实用的方法
- AJAX与JSP结合实例,一个很简单实用的例子:身份证号码检验
- AJAX与JSP结合实例,一个很简单实用的例子:身份证号码检验
- Android之蓝牙 一个简单实用的Android蓝牙程序实例
- 简单实用的多线程学习实例
- 一个实用的java web service 实例
- 一个简单的缓存管理
- 一个简单的缓存Demo
- 一个简单的实用的log4j.properties
- django admin中配置搜索域是一个外键时如何处理
- SQL Server 2014 安装图解
- 初次见面,请多关照
- maven搭建gae环境并导入eclipse中
- UML建模详解(8)—Rose系统部署图绘制总结
- 一个简单实用的缓存实例
- php导出CSV文件乱码或无内容的问题
- ls 命名详解
- 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(强烈顶,学习榜样!)
- 闭包中的this对象
- 欢迎使用CSDN-markdown编辑器
- MAP中删除所有vlaue值相同的键值对
- httpClient 工具类
- 【电脑知识】:U盘装系统的原理与光盘装系统的区别与联系