2011-07-04 90 views
-1

什麼是使用「靜態的Hashmap存儲對象」和基於Web的企業應用阿帕奇的Java緩存系統之間的prons的優劣呢?哪一個是最好的性能,降低堆內存問題的Java緩存系統和靜態HashMap的存儲 - 性能

例如:

Map store=ApplicationCtx.getApplicationParameterMap(); 
UserObj obj=store.get('user'); 

      VS 

UserObj obj = JCS.getInstance("user"); 

回答

1

如果你想兩全其美的,你可以考慮使用一個同步LinkedHashMap中,可作爲LRU緩存(基本驅逐策略)並且是線程安全的。


HashMap更簡單,更快速,它不會做太多,也不是線程安全的。 (這就是爲什麼它是最快的)

大多數高速緩存系統更復雜,這意味着會有小的開銷。例如他們是線程安全的(我相信你會需要)並支持驅逐策略(你也表示你將需要)

總之,第一個是最快的,但可能不會做你所需要的。第二個將幫助您管理您使用的內存量。