Avatar ·

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

सभी को नमस्ते। मैं एक शुरुआती Java डेवलपर हूं, और मैं लगातार सुनता हूं कि Java में एक garbage collector है जो स्वचालित रूप से मेमोरी साफ करता है। लेकिन मुझे बताया गया कि GC के साथ भी memory leak हो सकता है। मैं यह समझने की कोशिश कर रहा था कि यह कैसे संभव है, लेकिन मुझे मिले सभी उदाहरण बहुत जटिल हैं या Java के पुराने संस्करणों का उपयोग करते हैं। मुझे एक छोटा शैक्षिक प्रोजेक्ट लिखना है जो memory leak प्रदर्शित करता है, ताकि मैं बेहतर समझ सकूं कि garbage collector कैसे काम करता है और वास्तविक कार्य में ऐसी समस्याओं से कैसे बचा जाए। मैंने बिना references को सहेजे लूप में कई objects बनाने की कोशिश की — लेकिन GC उन्हें साफ कर देता है। ऐसा कैसे करें कि objects मेमोरी में बने रहें और हटाए न जाएं? यहां एक उदाहरण है जो मैंने आजमाया, लेकिन यह leak का कारण नहीं बनता: ```java public class MemoryLeakTest { public static void main(String[] args) throws InterruptedException { for (int i = 0; i < 1000000; i++) { String s = new String("test" + i); } System.gc(); Thread.sleep(100