简单的Map缓存机制实现
2016-01-11 23:33
267 查看
简单的Map缓存机制实现
大致思路是用一个单例的Map实现,当然此Map得是线程安全的--ConcurrentHashMap原本项目需求是缓存十条消息,所以打算用Map实现缓存机制。中途夭折下面具体尚未实现。。。
当然此代码仞为半成品,具体得根据项目需求采用不同的原则清除缓存
package per.zww.util; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class CachePool { private static CachePool cachePool; private Map<Object, Object> cacheItems; private CachePool() { cacheItems =new ConcurrentHashMap<Object, Object>(); } /** * 获取唯一实例 * @return instance */ public static CachePool getInstance() { if (cachePool ==null) { synchronized (CachePool.class) { if (cachePool ==null) { cachePool =new CachePool(); } } } return cachePool; } /** * 获取所有cache信息 * @return cacheItems */ public Map<Object, Object> getCacheItems() { return this.cacheItems; } /** * 清空cache */ public void clearAllItems() { cacheItems.clear(); } /** * 获取指定cache信息 * @return cacheItem */ public Object getCacheItem(Object key) { if (cacheItems.containsKey(key)) { return cacheItems.get(key); } return null; } /** * 存放cache信息 */ public void putCacheItem(Object key,Object value) { if (!cacheItems.containsKey(key)) { cacheItems.put(key, value); } } /** * 删除一个cache */ public void removeCacheItem(Object key) { if (cacheItems.containsKey(key)) { cacheItems.remove(key); } } /** * 获取cache长度 * @return size */ public int getSize() { return cacheItems.size(); } }
相关文章推荐
- android记录
- 【HTML/XML 5】使用XSL给XML文档添加样式
- 【HTML/XML 5】使用XSL给XML文档添加样式
- Android屏幕适配全攻略(最权威的官方适配指导)
- 基于 zepto 的触摸函数封装
- GreenDao简介
- WPF样式
- 判断密码有效性
- Strategy模式
- android异步加载之Handler、AsyncTask(二)
- 一些ecplise 快捷键
- Wish圈出品:最新wish商户平台基础运营学习高清视频教程全集 免费下载
- 基本控件
- Node.js_路由
- HDU【2066】一个人的旅行
- java 自定annotation
- 有效的括号序列
- Android之动画解析
- zeromq源码分析笔记之准备(0)
- socket和webservice区别,他们各自有什么优缺点