Avatar ·

जावा में मेमोरी लीक कैसे बनाएं? कोड उदाहरण और स्पष्टीकरण

सभी को नमस्कार! मैं एक शुरुआती Java डेवलपर हूं, और मुझे मेमोरी प्रबंधन के विषय में बहुत रुचि है। मैं जानता हूं कि Java में Garbage Collector (GC) है जो उन ऑब्जेक्ट्स से मेमोरी स्वचालित रूप से मुक्त करता है जिनका कोई संदर्भ नहीं है। लेकिन मुझे बताया गया कि Java में भी मेमोरी लीक हो सकती है अगर हम लापरवाही से कोड लिखें। मैं समझने की कोशिश कर रहा हूं कि यह वास्तव में कैसे होता है। मैंने एक सरल उदाहरण लिखा है, लेकिन मुझे यकीन नहीं है कि यह सही है। यहाँ कोड है: ```java import java.util.ArrayList; import java.util.List; public class MemoryLeakExample { private static List list = new ArrayList<>(); public static void main(String[] args) { while (true) { list.add(new Object()); } } } ``` यह कोड स्पष्ट रूप से OutOfMemoryError का कारण बनेगा, क्योंकि हम एक स्थिर सूची में अनंत रूप से ऑब्जेक्ट जोड़ रहे हैं। लेकिन यह 'लीक' से अधिक 'ओवरफ्लो' है। मुझे उन सूक्ष्म मामलों के बारे में जानने में दिलचस्पी है जहां GC ऑब्जेक्ट्स को एकत्र नहीं कर पाता, भले ही हम सोचते हैं कि वे अब आवश्यक नहीं हैं।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग