2012-06-13 12 views
13

मित्र,PermGen और ढेर, अंतर और उनके महत्व

तुम मुझे महत्व दे सकते हैं कृपया, अंतर और ढेर और PermGen के लिए उपयोग करता है। यह भी जानना अच्छा होगा कि क्रमशः उन्हें किस वर्ग में लोड किया गया है।

जावा वी एम विनिर्देश से संबंधित स्पष्टीकरण सच में मददगार

धन्यवाद Punith

+0

इस संबंधित प्रश्न का संदर्भ लें: http://stackoverflow.com/questions/2070791/young-tenured-and-perm-generation/33994430#33994430 –

उत्तर

21

मेमोरी (हीप) पीढ़ियों में प्रबंधित किया जाता है, या स्मृति युग विभिन्न आयुओं की वस्तुओं को पकड़ता है। पीढ़ी भरने पर प्रत्येक पीढ़ी में कचरा संग्रह होता है। वस्तुओं को छोटी वस्तुओं या young generation के लिए पीढ़ी में आवंटित किया जाता है, और शिशु मृत्यु दर के कारण अधिकांश वस्तुएं मर जाती हैं।

जब कोई नई वस्तु का निर्माण होता है तो यह ईडन स्पेस पर जाता है जो Young Generation का हिस्सा है।

यदि ऑब्जेक्ट अभी भी जीवित है तो कुछ समय बाद यह tenured generation पर जाता है जहां लंबे समय तक जीवित वस्तुएं होती हैं।

यदि ऑब्जेक्ट को प्रक्रिया समाप्त होने तक जीवित रहने के लिए माना जाता है तो ऑब्जेक्ट Perm Generation पर ले जाया जाता है। Java classes स्थायी पीढ़ी में संग्रहीत हैं।

0

वैसे मैं कोई विशेषज्ञ नहीं हूं, लेकिन पर्मगैम मेमोरी हीप के भीतर रहता है, क्योंकि यह एक विशेष स्थान की तरह है जहां सभी कक्षाएं रनटाइम पर लोड की जाती हैं। तो यदि आपके पास बहुत सी कक्षाएं हैं, तो पर्मगेम एक आउटऑफमेमरी अपवाद फेंकता है। और अच्छी तरह से ढेर उन वस्तुओं को संग्रहीत करता है जिन्हें आप अपने जावा कोड में जोड़ते हैं, जहां जीसी उन ऑब्जेक्ट्स को एकत्र करता है जिन्हें स्टैक में चल रहे थ्रेड में किसी भी चर द्वारा संदर्भित नहीं किया जाता है।

+2

यह सच नहीं है। पेर्गन ढेर अंतरिक्ष से अलग है। जांचें (यह) [https://blogs.oracle.com/jonthecollector/entry/presenting_the_permanent_generation] – Santosh

+0

हाँ, आप सही हैं। मुझे यकीन नहीं है कि मैं अन्यथा पढ़ता हूं लेकिन यह समझ में आता है कि जीसी के लिए स्थायी डेटा की जांच न करने के लिए उन्हें क्या हासिल करना है, इसलिए यह केवल "चीजों" के लिए ढेर की जांच करता है जिसे वह एकत्र कर सकता है। –

0

मेरा मानना ​​है कि परमजन केवल हीप मेमोरी के अंदर मेमोरी एरिया है। यह स्ट्रिंग धारण करने जैसे विशेष उद्देश्य के लिए बनाया गया है।

बनाए गए सभी ऑब्जेक्ट को पर्मजन मेमोरी नहीं मिलती है यह केवल जेडीके 6 या उससे नीचे की स्ट्रिंग जैसी विशेष क्लासिस के लिए है।

8 और उससे ऊपर के आधुनिक जेडीके संस्करणों में, पेर्गन नहीं मिला है, हालांकि गैर हीप और अन्य विभिन्न कैश यादों जैसी नई स्मृति पेश की गई है।

संबंधित मुद्दे