Ehcache(五): cache.put(element)做了些什么?
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).
privateMapdiskElements=Collections.synchronizedMap(newHashMap());
privateMapspool=newHashMap();
怎么一点也看不出与disk相关的信息:如,IO,stream等.
4,backOffIfDiskSpoolFull
看来这个方法里并不真正做back?那么真正的backOff是在什么方法里做的?
5,真正的put
怎么类MemoryStore里的doPut方法是空的?
7,registeredEventListeners.notifyElementXXX方法:
这些监听是怎么设置的?
相关推荐
jimgreatly 2020-05-25
wikiwater 2020-10-27
IdeaElements 2020-08-19
Sophiego 2020-08-16
Kakoola 2020-08-01
Kakoola 2020-07-29
ELEMENTS爱乐冬雨 2020-07-18
ELEMENTS爱乐小超 2020-07-04
ELEMENTS爱乐小超 2020-07-04
Kakoola 2020-06-28
Feastaw 2020-06-18
Wmeng0 2020-06-14
ELEMENTS爱乐冬雨 2020-06-14
云之高水之远 2020-06-14
哈喽elements 2020-06-14