| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<K,CacheObj<K,V>> |
cacheMap |
protected int |
capacity
返回缓存容量,
0表示无大小限制 |
protected boolean |
existCustomTimeout
每个对象是否有单独的失效时长,用于决定清理过期对象是否有必要。
|
protected int |
hitCount
命中数
|
protected int |
missCount
丢失数
|
protected long |
timeout
缓存失效时长,
0 表示没有设置 |
| 构造器和说明 |
|---|
AbstractCache() |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
capacity() |
void |
clear()
清空缓存
|
V |
get(K key)
从缓存中获得对象,当对象不在缓存中或已经过期返回
null |
int |
getHitCount() |
int |
getMissCount() |
boolean |
isEmpty() |
boolean |
isFull() |
protected boolean |
isPruneExpiredActive()
只有设置公共缓存失效时长或每个对象单独的失效时长时清理可用
|
Iterator<V> |
iterator() |
int |
prune()
从缓存中清理过期对象,清理策略取决于具体实现
|
protected abstract int |
pruneCache()
清理实现
|
void |
put(K key,
V object)
将对象加入到缓存,使用默认失效时长
|
void |
put(K key,
V object,
long timeout)
将对象加入到缓存,使用指定失效时长
如果缓存空间满了, Cache.prune() 将被调用以获得空间来存放新对象 |
void |
remove(K key)
从缓存中移除对象
|
int |
size() |
long |
timeout() |
String |
toString() |
protected int capacity
0表示无大小限制protected long timeout
0 表示没有设置protected boolean existCustomTimeout
protected int hitCount
protected int missCount
public void put(K key, V object)
Cacheput 在接口中 Cache<K,V>key - 键object - 缓存的对象Cache.put(Object, Object, long)public void put(K key, V object, long timeout)
CacheCache.prune() 将被调用以获得空间来存放新对象put 在接口中 Cache<K,V>key - 键object - 缓存的对象timeout - 失效时长Cache.put(Object, Object, long)public int getHitCount()
public int getMissCount()
protected abstract int pruneCache()
public final int prune()
Cacheprotected boolean isPruneExpiredActive()
Copyright © 2015. All rights reserved.