以下基於cacheloader方式:
1.定時過期:expireafterwrite
2.定時重新整理:refreshafterwrite + 過載reload
3.定時非同步重新整理:refreshafterwrite + 過載reload + 執行緒池
共同點:
當key=null或expire時,都會加鎖,並且以同步方式呼叫load方法載入資料。
不同點:
當key存活於cache中,過了重新整理周期後,當有執行緒訪問資料某key的資料時,會以同步或非同步的方式呼叫reload方法載入資料,在載入資料的過程中,如果有請求過來需要獲取該key的資料,此時,返回oldvalue,並不會觸發reload方法呼叫。
**分析:
v get(k key, int hash, cacheloader<? super k, v> loader) throws executionexception
valuereferencevaluereference = e.getvaluereference();
if (valuereference.isloading()) }}
// at this point e is either null or expired;//key=null或者過期時,同步載入資料
return lockedgetorload(key, hash, loader);
} catch (executionexception ee) else if (cause instanceof runtimeexception)
throw ee;
} finally
}
深入了解A
一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...
深入了解A
一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...
深入了解Dojo Data
譯自http www.sitepen.com blog 2010 10 13 dive into dojo data 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料...