جافا :كيف ويخاشماب تحديد ما إذا كان المفتاح' عفا عليها الزمن ' أم لا?
-
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
إشارات إلى مفاتيح الخريطة بأنها " عقد " الكائنات الرئيسية في الذاكرة.
لا تنتمي إلى StackOverflow