Package com.luna.common.cache
Class SimpleCache<K,V>
java.lang.Object
com.luna.common.cache.SimpleCache<K,V>
- Type Parameters:
K
- 键类型V
- 值类型
- All Implemented Interfaces:
Serializable
,Iterable<Map.Entry<K,
V>>
简单缓存,无超时实现,默认使用
WeakHashMap
实现缓存自动清理- Author:
- Looly
- See Also:
-
Field Details
-
keyLockMap
写的时候每个key一把锁,降低锁的粒度
-
-
Constructor Details
-
SimpleCache
public SimpleCache()构造,默认使用WeakHashMap
实现缓存自动清理 -
SimpleCache
构造通过自定义Map初始化,可以自定义缓存实现。
比如使用WeakHashMap
则会自动清理key,使用HashMap则不会清理
同时,传入的Map对象也可以自带初始化的键值对,防止在get时创建- Parameters:
initMap
- 初始Map,用于定义Map类型
-
-
Method Details
-
get
从缓存池中查找值- Parameters:
key
- 键- Returns:
- 值
-
get
从缓存中获得对象,当对象不在缓存中或已经过期返回Func0回调产生的对象- Parameters:
key
- 键supplier
- 如果不存在回调方法,用于生产值对象- Returns:
- 值对象
-
put
放入缓存- Parameters:
key
- 键value
- 值- Returns:
- 值
-
remove
移除缓存- Parameters:
key
- 键- Returns:
- 移除的值
-
clear
public void clear()清空缓存池 -
iterator
-