جافا :كيف ويخاشماب تحديد ما إذا كان المفتاح' عفا عليها الزمن ' أم لا?

StackOverflow https://stackoverflow.com//questions/10694467

  •  12-12-2019
  •  | 
  •  

سؤال

كيف تعرف أن هذا المفتاح قديم ومستعد لرميه بعيدا ?ولماذا سلسلة حرفية ?

على سبيل المثال,

  private static WeakHashMap<<? extends Object>, String> m = 
                             new WeakHashMap<<? extends Object>, String>();

  public static void A(){

       Point p = new Point();
       m.put(p, "a");

  }

فهل يعني أن' ف ' ستزول المفتاح في أقرب وقت () عوائد ?

هل كانت مفيدة؟

المحلول

WeakHashMap لا يجعل هذا التصميم;بدلا من ذلك ، عملية جمع القمامة جافا العادية حذف مفاتيح غير مرجعية.ال p ستزول مفتاح حالما يتم تشغيل جمع القمامة جافا.

ماذا WeakHashMap هل هو يستخدم مراجع ضعيفة للإشارة إلى المفاتيح ، وبالتالي فإن جامع القمامة يعرف عدم حساب WeakHashMap إشارات إلى مفاتيح الخريطة بأنها " عقد " الكائنات الرئيسية في الذاكرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top