Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में स्टैक और हीप मेमोरी के बीच अंतर

JVM ने मेमोरी स्पेस को दो भागों में विभाजित किया है एक है स्टैक और दूसरा है हीप स्पेस। स्टैक स्पेस मुख्य रूप से विधि निष्पादन और स्थानीय चर के क्रम को संग्रहीत करने के लिए उपयोग किया जाता है।

स्टैक हमेशा LIFO क्रम में ब्लॉक संग्रहीत करता है जबकि हीप मेमोरी मेमोरी ब्लॉकों को आवंटित करने और हटाने के लिए गतिशील आवंटन का उपयोग करता है।

हीप को आवंटित मेमोरी निम्न में से कोई एक घटना होने तक रहती है:

  • कार्यक्रम समाप्त
  • मेमोरी फ्री

इसके विपरीत, स्टैक को आवंटित मेमोरी फ़ंक्शन के वापस आने तक रहती है। नीचे अंतर हैं।

Sr. नहीं. कुंजी Stack हीप मेमोरी
1
बेसिक
स्टैक मेमोरी का उपयोग उन वस्तुओं को संग्रहीत करने के लिए किया जाता है जिनका जीवन बहुत छोटा होता है जैसे स्थानीय चर, वस्तुओं का एक संदर्भ चर
हेप मेमोरी को ऑब्जेक्ट्स और JRE क्लासेस को स्टोर करने के लिए आवंटित किया जाता है।
2
आदेश देना
स्टैक हमेशा LIFO (लास्ट इन फर्स्ट आउट) क्रम में आरक्षित होता है
हीप मेमोरी गतिशील आवंटन है, मेमोरी में ब्लॉक आवंटित करने और हटाने के लिए कोई निश्चित पैटर्न नहीं है
3
Size
हम JVM पैरामीटर -XSS का उपयोग करके स्टैक मेमोरी का आकार बढ़ा सकते हैं
हम JVM विकल्प -Xms और -Xmx का उपयोग करके हीप मेमोरी का आकार बढ़ा या घटा सकते हैं
4
दृश्यता
चर केवल स्वामी थ्रेड के लिए दृश्यमान हैं
यह सभी थ्रेड्स को दिखाई देता है
5
अपवाद
JVM java.lang को फेंक देगा।StackOverFlowError
JVM java.lang को फेंक देगा।OutOfMemoryError

  1. ढेर और ढेर के बीच अंतर

    इस पोस्ट में हम स्टैक और हीप के बीच के अंतर को समझेंगे स्टैक यह एक रैखिक डेटा संरचना है। मेमोरी एक सन्निहित (निरंतर) ब्लॉक में आवंटित की जाती है। स्टैक के लिए मेमोरी को कंपाइलर के निर्देशों का उपयोग करके स्वचालित रूप से आवंटित और हटा दिया जाता है। स्टैक बनाने और बनाए रखने में कम खर्च होत

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क