public class SimpleCache {
private static long wideHits;
private static long wideMisses;
private Hashtable cache;
private Vector stamps;
private int maxSize;
private long hits;
private long misses;
public static long getWideHits() {
return wideHits;
}
public static long getWideMisses() {
return wideMisses;
}
public SimpleCache(final int size) {
this.maxSize = size;
cache = new Hashtable(size);
stamps = new Vector(size);
}
public int getMaxSize() {
return maxSize;
}
public void setMaxSize(final int maxSize) {
this.maxSize = maxSize;
}
public int getSize() {
return cache.size();
}
public void add(final Object key, final Object object) {
final Hashtable cache = this.cache;
if (!cache.containsKey(key)) {
if (cache.size() == maxSize) {
discard();
}
cache.put(key, object);
stamps.insertElementAt(key, 0);
} else {
cache.put(key, object);
touch(key);
}
}
public void remove(final Object key) {
if (stamps.contains(key)) {
stamps.removeElement(key);
cache.remove(key);
}
}
public void clear() {
cache.clear();
stamps.removeAllElements();
hits = misses = 0;
}
public synchronized Object get(final Object key) {
final Object o = cache.get(key);
if (o != null) {
hits++;
wideHits++;
touch(key);
} else {
misses++;
wideMisses++;
}
return o;
}
public long getHits() {
return hits;
}
public long getMisses() {
return misses;
}
private void discard() {
final Object key = stamps.lastElement();
stamps.removeElement(key);
cache.remove(key);
}
private void touch(final Object key) {
stamps.removeElement(key);
stamps.insertElementAt(key, 0);
}
}
分享到:
相关推荐
java缓存工具 SimpleCache
优化增强的缓存机制(SimpleCache)
基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java的开发源码-Java缓存工具 SimpleCache.zip 基于java...
SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作! 1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。 3. 支持缓存数据分区规则...
源码参考,欢迎下载
Android应用源码开发Demo,主要用于毕业设计学习。
Laravel开发-simplecache 拉拉维尔的俄罗斯玩偶缓存
java缓存工具 SimpleCache.7z
基于Java的Java缓存工具 SimpleCache.zip
基于java的java缓存工具 SimpleCache.zip
SimpleCache 最少最近使用(LRU)缓存的纯Python实现。 它使开发人员可以轻松地在昂贵的函数调用上使用备忘录。 入门 这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。 有关如何在实时...
java 编写的缓存工具 SimpleCache。
java源码:java缓存工具 SimpleCache.zip
基于Java的源码-Java缓存工具 SimpleCache.zip
基于Java的实例源码-Java缓存工具 SimpleCache.zip
Laravel开发-laravel-simplecache-middleware 缓存URL
基于Java的实例开发源码-Java缓存工具 SimpleCache.zip
安卓开发-优化增强的缓存机制(SimpleCache)
Android应用源码之优化增强的缓存机制(SimpleCache).zip
优化增强的缓存机制(SimpleCache).zip项目安卓应用源码下载优化增强的缓存机制(SimpleCache).zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考