缓存技术
来源:互联网 发布:hdr as200v 软件 编辑:程序博客网 时间:2024/05/22 02:05
import 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
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 缓存技术
- 递推递归练习 F
- SAPUI5 (27)
- Anctivity与Fragment不得不说的事情(activity中viewpage+fragment后通信)
- EffectiveJava第三章:对于所有对象都通用的方法
- unity CharacterController move/simplemove参考自己轴的方向的运动(以自己局部坐标系)
- 缓存技术
- Spring框架的IOC之注解方式和AOP方式
- Linux根目录学习
- 解决跨域访问
- 第一个Spring MVC应用
- Windows R语言环境配置
- scribble semantic segmentation
- Android -- 源码平台下JAR包的引入与编译
- C++之explicit关键字使用总结