爲了解釋域...緩存數據結構設計
我有物品的一堆(1,000,000),每個特定類型的12種可能的類型中的(類型A,類型B ...... TypeK) 有3不可變類即ItemKey(唯一標識項),ItemTypeKey(唯一標識類型)和ItemType(包含包含ItemTypeKey的類型數據)
我在前面有一個緩存,它將數據存儲在兩個數據結構中。 。
ConcurrentHashMap<ItemKey, ItemTypeKey>
ConcurrentHashMap<ItemTypeKey, ItemType>
我會簡單地實現它作爲一個ConcurrentHashMap<ItemKey, ItemType>
的內存佔用會minimial在這種情況下也作爲緩存僅存儲反正引用。
分裂我沒有看到的緩存有什麼特別的優勢嗎? 也歡迎任何替代數據結構設計
我想指出在ConcurrentHashMap大小的情況下,您可能需要考慮放入併發級別(使用此構造函數:ConcurrentHashMap(int initialCapacity,float loadFactor,int concurrencyLevel))。 默認併發級別爲16,可能希望使其更小以減少內存。 – LazyCubicleMonkey 2011-04-07 04:12:53