खोज…


परिचय

कमजोर हशमप की अवधारणा

WeakHashmap की अवधारणा

प्रमुख बिंदु:-

  • मानचित्र का कार्यान्वयन।
  • अपनी कुंजियों के लिए केवल कमजोर संदर्भ संग्रहीत करता है।

कमजोर संदर्भ : जिन वस्तुओं को केवल कमजोर संदर्भ द्वारा संदर्भित किया जाता है, वे कचरा उत्सुकता से एकत्र किए जाते हैं; GC तब तक इंतजार नहीं करेगा जब तक कि उस स्थिति में मेमोरी की आवश्यकता न हो।

हशमप और वीकशशप के बीच की कठिनाई: -

यदि जावा मेमोरी मैनेजर में अब कुंजी के रूप में निर्दिष्ट ऑब्जेक्ट का कोई मजबूत संदर्भ नहीं है, तो मानचित्र में प्रविष्टि WeakHashMap में हटा दी जाएगी।

उदाहरण :-

public class WeakHashMapTest {
    public static void main(String[] args) {
        Map hashMap= new HashMap();
        
        Map weakHashMap = new WeakHashMap();
        
        String keyHashMap = new String("keyHashMap");
        String keyWeakHashMap = new String("keyWeakHashMap");
        
        hashMap.put(keyHashMap, "Ankita");
        weakHashMap.put(keyWeakHashMap, "Atul");
        System.gc();
        System.out.println("Before: hash map value:"+hashMap.get("keyHashMap")+" and weak hash map value:"+weakHashMap.get("keyWeakHashMap"));
        
        keyHashMap = null;
        keyWeakHashMap = null;
        
        System.gc();  
        
        System.out.println("After: hash map value:"+hashMap.get("keyHashMap")+" and weak hash map value:"+weakHashMap.get("keyWeakHashMap"));
    }

आकार अंतर (हाशप बनाम वीकहैश मैप):

HashMap वस्तु पर कॉलिंग आकार () विधि कुंजी-मूल्य जोड़े की समान संख्या लौटाएगी। हश्र ऑब्जेक्ट पर स्पष्ट रूप से हटाने () विधि को कहा जाता है, तो आकार घट जाएगा।

क्योंकि कूड़ा उठाने वाला किसी भी समय चाबियों को छोड़ सकता है, इसलिए WeakHashMap एक अज्ञात धागा चुपचाप प्रविष्टियों को हटा रहा है, जैसा व्यवहार कर सकता है। तो समय के साथ छोटे मूल्यों को वापस करने के लिए आकार विधि के लिए संभव है। इसलिए, WeakHashMap में आकार में कमी स्वचालित रूप से होती है



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow