關於Jive論壇中CACHE Hash機制的一個疑問

henry_xy發表於2005-03-18
ThreadMode1.jsp:
ForumThread thread = forum.getThread(threadID);
...
DBForumFactory.java:
DbForumThread thread = cacheManager.threadCache.get(threadID);

ForumThreadCache.java:
DbForumThread thread = (DbForumThread)cache.get(threadID);

LongCache.Java:
LongCacheObject cacheObject = (LongCacheObject)cachedObjectsHash.get(key);


public final Object get(long key) {
int i = indexOfKey(key); //問題在這裡,按照HASH演算法,有可能是多個thread id(key)對應一個hash值i的
//If not in the map return null
if (i<0) {
return null;
}
else {
return values;//而這裡直接返回了一個i的object,怎麼能保證這個object就是唯一的呢?不會是每次遇到
重複的hash值就把上次的覆蓋掉吧??就是不懂這裡,請高手指點指點
}
}

相關文章