पाठ 11 / 38

मेमोरी व गार्बेज कलेक्शन

स्टैक, हीप व reachability समझें, G1, ZGC व Shenandoah जैसे जेनरेशनल कलेक्टर कैसे काम करते हैं, और GC के बावजूद लीक कैसे होते हैं।

स्टैक बनाम हीप

हर थ्रेड का स्टैक लोकल वेरिएबल रखता है। सभी ऑब्जेक्ट साझा हीप पर होते हैं। किसी GC रूट से न पहुँच पाने पर ऑब्जेक्ट संग्रह योग्य है।

जेनरेशनल कलेक्टर

अधिकांश ऑब्जेक्ट जल्दी मरते हैं, इसलिए हीप में young व old जेनरेशन होते हैं। G1 डिफ़ॉल्ट है; ZGC/Shenandoah बहुत कम पॉज़ देते हैं।

GC भाषा में मेमोरी लीक

लीक फिर भी संभव: static कलेक्शन में रखे ऑब्जेक्ट, असीमित कैश, न हटाए गए लिसनर, कभी साफ़ न किए ThreadLocal