2012-09-04 12 views
5

यदि मैं एक स्थिर ब्लॉक बनाता हूं और वहां एक ऑब्जेक्ट बनाता हूं, तो किसी अन्य वर्ग के बारे में कहें, क्या वस्तु ढेर या ढेर पर बनाई जाएगी?स्मृति में कहां स्थित हैं जब वे स्थिर ब्लॉक में बनाए जाते हैं?

class Hello { 
    static { 
     Abc abcObject=new Abc(); 
    } 
    // Other Code... 
} 
+0

यह ढेर पर होगा। – Santosh

+0

धन्यवाद ................. –

+0

स्टैक ओवरफ़्लो में आपका स्वागत है। जब कोई आपको यहां मदद करता है, तो यह जवाब स्वीकार करने के लिए प्रथागत है। आप जो जवाब सही मानते हैं उसके बगल में नीचे दिए गए चेक मार्क की रूपरेखा पर क्लिक करके आप ऐसा कर सकते हैं। धन्यवाद! –

उत्तर

4

ऑब्जेक्ट ढेर में बनाया गया है, लेकिन ऑब्जेक्ट का संदर्भ ढेर में है।

वेरिएबल abcObject जो आपने बनाया है, स्टैक में स्थित है। इसमें ढेर के भीतर एक मेमोरी पता है जहां new Abc() ऑब्जेक्ट संग्रहीत किया जाता है।

+0

ऑब्जेक्ट का संदर्भ स्टैक_ में है, क्या आप विस्तारित कर सकते हैं/ – Santosh

+0

@ सैंटोश सभी स्थानीय चर ढेर पर हैं। –

+0

आह ... इसे मिला। क्षमा करें :) – Santosh

7

वस्तुओं स्थिर (या) गैर स्थैतिक के बावजूद ढेर पर हमेशा होते हैं।

संदर्भ स्टैक पर होंगे।

+0

+1 'abcObject' एक स्थानीय चर है जो किसी ऑब्जेक्ट का संदर्भ है। यह ढेर पर होगा। संदर्भित वस्तु ढेर पर होगी। –

+0

@ पीटर Lawrey: सहमत और अद्यतन उत्तर। – kosa

+0

@ user1646626: आपका स्वागत है। कोडिंग का आनंद लें। – kosa

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