weakhashmap

    5熱度

    2回答

    我的應用程序記錄了某些對象的用法 - 我的設置使用AspectJ來識別我感興趣的上下文並記錄這些用法。我稍後加載日誌文件進行分析,但出於效率的原因,知道何時不再可訪問對象很有用。 我目前的做法是用「垃圾記錄器」記錄我感興趣的對象,然後創建一個包含對象身份哈希碼的'保存器'對象,並將其存儲在弱哈希映射中。這個想法是當收集對象時,保存對象將從弱哈希映射中移除並收集,從而運行代碼以記錄收集對象的身份哈希

    6熱度

    4回答

    在以下代碼示例中,如果將鍵設置爲null並調用System.gc(),則WeakHashMap會丟失所有映射並被清空。 class WeakHashMapExample { public static void main(String[] args) { Key k1 = new Key("Hello"); Key k2 = new Key("World");

    0熱度

    1回答

    我緩存數據庫連接對象像: Connection conn; if (connectionCache.get(jdbc.getConnectionURL()) == null) { conn = DriverManager.getConnection(jdbc.getConnectionURL(), jdbc.getUsername(), jdbc.getPassword())

    4熱度

    3回答

    WeakHashMap中的關鍵對象變得微弱可達。並且地圖應該在GC之後刪除條目。但是仍然強調對價值對象的引用。爲什麼? 與番石榴弱鍵映射相同的行爲。 預期輸出: ... refKey.get = null refValue.get = null ,但我得到的輸出: map.keys = [] map.values = [] map.size = 0 refKey.get = null

    0熱度

    2回答

    我最近試圖理解java.util.WeakHashMap。 但是,當我使用WeakReference來包裝一個字符串時,WeakHash沒有完成Entry。 另請注意,我正在清除主線程中的WeakReference,然後在線程方法內引用它。 執行時,while循環根本沒有中斷! public class WeakHashMapTotorial { private static Map<

    9熱度

    1回答

    是HashSet<WeakReference<T>>Set相當於WeakHashMap<T>?也就是說,會自動將條目刪除不再被引用? 如果不是,那麼等效的是什麼?

    4熱度

    2回答

    我想測試Java WeakHashMap中類功能,併爲此事我寫了下面的測試: public class WeakHashMapTest { public static void main(String args[]) { Map<String, Object> weakMap = new WeakHashMap<>(); String x = new String("x")

    3熱度

    6回答

    當已有其他實現可用時,需要引入弱哈希映射。 總之,我有兩個問題: Why jdk has WeakHashMap when there is HashMap and Concurrent HashMap in java ? What is the use of it in real life applications ? 編輯: 雖然WeakHashMap的關鍵是一個弱引用,但他們仍然是指 東西比

    0熱度

    1回答

    請解釋WeakReferences用於什麼。我通常理解Java的概念,但這個給我帶來麻煩。 我明白在WeakReferences是什麼,但它們的用途和性質是在我的頭有點含糊。我無法想像使用WeakReferences成爲必需的正確場景。 我也知道,一個WeakHashMap中有關在WeakReferences其中包含null鍵一排,被自動刪除。我無法想象這怎麼可能,我有一個WeakHashMap的

    2熱度

    1回答

    我想在WeakHashMap中存儲一些數據,但是存在問題。 說我們有一個代碼: public class WeakMapTest { public static void main(String[] args) { WeakHashMap<Object, Object> map = new WeakHashMap<Object, Object>(); map.pu