में एक ही ऑब्जेक्ट को इंगित करते हैं, मैं एक जीयूआई प्रोग्राम विकसित कर रहा हूं, जहां मैंने कक्षाएं बनाई हैं, क्लस्टर एक्शनलिस्टनर, कार्यक्षमता के अनुसार। मेरा सवाल यह है कि JVM JButtons को कैसे संभालता है, जिसमें एक ही एक्शनलिस्टर ने उन्हें जोड़ा है।जावा, संदर्भ चर जो स्मृति
पहले; मुझे पता है कि JVM स्मृति को सहेज सकता है, दो संदर्भ चर जो एक समान स्ट्रिंग (उदाहरण के लिए) को इंगित करता है, स्मृति में एक ही स्ट्रिंग ऑब्जेक्ट को इंगित करता है।
public class Example {
String str1 = "SomeString";
String str2 = "SomeString";
}
अब, मेरा प्रश्न यह है: यदि मेरे पास 5 जेबटन हैं, तो कहें। सभी बटनों में वही एक्शनलिस्टर जोड़ा जाता है। जब कार्यक्रम चलाया जाता है, तो क्या उनके पास एक ही कक्षा के 5 अलग-अलग, समान, इंस्टेंस जोड़े जाएंगे? या क्या JVM कुछ ऐसा ही करेगा (ऊपर उल्लिखित)?
- अग्रिम धन्यवाद :)
यदि आप हमें दिखाते हैं कि आप क्या कर रहे हैं तो हम आपको बता सकते हैं कि क्या होगा। या आप इसे अपने लिए जांच सकते हैं। आपका प्रश्न भ्रमित है - यदि आप एक ही एक्शनलिस्टर ऑब्जेक्ट को पांच अलग-अलग बटनों पर पास करते हैं, तो आपको लगता है कि यह पांच वस्तुओं में क्यों विभाजित होगा? –
आपकी प्रतिक्रिया के लिए धन्यवाद। मेरे उदाहरण में, मेरा मतलब था; अगर मैं स्पष्ट रूप से पांच अलग-अलग बटनों में पांच अलग-अलग ऑब्जेक्ट जोड़ता हूं - क्या JVM मेमोरी स्पेस को अनुकूलित करेगा, और उन्हें एक ही ऑब्जेक्ट साझा करने देगा। –
उस मामले में, नहीं। JVM इस तरह की वस्तुओं को मर्ज नहीं करता है। स्ट्रिंग्स एक विशेष मामला है। हालांकि, आप कई बटनों के लिए एक ही एक्शनलिस्टर का उपयोग कर सकते हैं। –