1, checkStatus(): if (!status.equals(Status.STATUS_ALIVE))
2, element.resetAccessStatistics():
lastAccessTime = 0;
nextToLastAccessTime = 0;
hitCount = 0;
怎么把一个element里的这些信息都给置成了0?
3, elementExists = isElementInMemory(key) || isElementOnDisk(key);
判断要put进来的element是否已存在. 为什么不分是Memory和Disk呢?
Memory中用了Map来模拟内存,
disk判断时: diskElements.containsKey(key) || spool.containsKey(key).
private Map diskElements = Collections.synchronizedMap(new HashMap());
private Map spool = new HashMap();
怎么一点也看不出与disk相关的信息: 如,IO,stream等.
4, backOffIfDiskSpoolFull
看来这个方法里并不真正做back? 那么真正的backOff是在什么方法里做的?
5, 真正的put
怎么类MemoryStore里的doPut方法是空的?
7, registeredEventListeners.notifyElementXXX方法:
这些监听是怎么设置的?
Ehcache(五): cache.put(element)做了些什么?
最新推荐文章于 2023-06-28 16:15:18 发布