lru

    3熱度

    5回答

    我想創建一個有效的LRU緩存實現。我發現最方便的方法是使用LinkedHashMap,但不幸的是,如果許多線程正在使用緩存,它會很慢。我的實現是在這裏: /** * Class provides API for FixedSizeCache. * Its inheritors represent classes * with concrete strategies * for cho

    23熱度

    3回答

    LRU和LFU緩存實現有什麼區別? 我知道LRU可以使用LinkedHashMap來實現。 但是如何實現LFU緩存?

    1熱度

    3回答

    我現在有一個自定義類,看起來數組一樣: Phy[] memory = new Phy[256]; 在我的Phy類,我有以下功能: 獲取時間戳(返回時間戳) 更新時間標記(使用系統時,獲取MS自1970年以來,並將其設置) 當涉及到LRU部分找到LRU類我做的: public int getLeastRecentlyUsed(){ long leastUsed = memory[0].

    0熱度

    1回答

    我瞭解到,由於計算開銷,真正的LRU沒有在虛擬內存系統中實現。那麼,爲什麼LRU算法在文件緩存中可行呢? 我認爲原因可能是inode中的時間字段。那是對的嗎?

    1熱度

    1回答

    我有大的C++/STL數據結構(myStructType)與重疊列表和地圖。我有很多這種類型的對象,我想用一個鍵LRU緩存。我可以在需要時從磁盤重新加載對象。而且,它必須在BSD平臺上運行的多處理高性能應用程序中共享。 我可以看到幾個解決方案: 我可以考慮終身的pair<size_t lifeTime, myStructType v>分類列表,以及一個地圖O(1)根據其密鑰訪問所需對象的索引列表中

    0熱度

    1回答

    我需要在C++中實現一個LRU緩存。 我有這樣的代碼,我有問題,而編譯: #include <iostream> #include <vector> #include <hash_map> using namespace std; using namespace stdext; template<class K, class T> struct LRUCacheEntry {

    6熱度

    1回答

    我想刪除一個LinkedHashSet的最古老的成員,我知道有一個removeEldestEntry的方法,我不得不重寫(Java doc for removeEldestEntry ), 但我想我必須定義initial capacity和load factor這我不我只是想刪除最近訪問最少的元素(這裏通過訪問我的意思是put,而它已經在集合中或被讀取) 有沒有什麼辦法可以忽略removeElde

    1熱度

    3回答

    我想構建一個快速的LRU緩存。 這種解決方案是一種很好的方法嗎? 那麼同步呢? 有一個名爲removeEldestEntry的受保護方法。當項目被添加到地圖時調用此方法。默認實現只是返回false。但我可以子類LinkedHashMap並重寫此方法來檢查是否已達到最大大小,然後只返回true。 LinkedHashMap將通過鏈接列表找到最舊的條目,並在添加新條目之前對其進行引導。 public

    1熱度

    1回答

    我試圖實現一個圖像庫,它應該顯示〜5-15個較小的圖像和一個「當前選定」的較大圖像。 它看起來像:http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/06/galleryDemo.png 我擡頭許多來源,現在決定使用位圖緩存(LRU高速緩存)(感謝這個論壇的人!)。 我不會在那一刻得到內存泄漏,但我不滿意這個解決方案,因爲每次我

    0熱度

    2回答

    我正在爲用戶的照片實現一個LRU緩存,使用Commons Collections LRUMap(基本上是一個帶有小修改的LinkedHashMap)。 findPhoto方法可以在幾秒鐘內調用幾百次。 public class CacheHandler { private static final int MAX_ENTRIES = 1000; private static M