मैं एक चीज के बारे में सोच रहा था जो कल मेरे दिमाग में कूद गया था।
मैं भ्रामक शीर्षक के लिए पहले से माफ़ी मांगता हूं, लेकिन मुझे वास्तव में यह नहीं पता कि इसका अधिकार कैसे प्राप्त किया जाए।
अच्छा, मान लें कि हम दो ऑब्जेक्ट्स ObjA
और ObjB
हैं, और उदाहरण के लिए, ObjB
में एक विधि है जो ObjA
ऑब्जेक्ट को तर्क के रूप में लेती है।
हम इस (भाषा के रूप में जावा लेने) कर सकते हैं:बेनामी चर (?) फायदे?
ObjA instanceA = new ObjA();
ObjB instanceB = new ObjB();
instanceB.method(instanceA);
या
new ObjB().method(new ObjA());
मान लें यह कुछ समारोह के शरीर है, इसलिए वस्तुओं नष्ट हो जाएगा जब दायरे से बाहर जा रहा है ।
मेरा प्रश्न है:
क्या हमें एकवचन वस्तुओं को तत्काल नहीं करने और दूसरे कोड के लिए निहित रूप से कॉल करके प्रदर्शन लाभ मिलता है?
क्या यह पठनीयता बलिदान कुछ लायक है?
या यह सब कुछ के लिए नहीं है क्योंकि अंतर्निहित रूप से बनाई गई वस्तुओं को स्मृति में संग्रहीत किया जाएगा और वैसे भी दायरे से मर जाएगा?
नोट: मुझे नहीं पता कि मैं "निहित" या "अज्ञात" के साथ सही कह रहा हूं, लेकिन मुझे Google पर बहुत कुछ नहीं मिला है।
जावा में, इससे प्रदर्शन की कोई फर्क नहीं पड़ता। आप दोनों संस्करणों के लिए जेनरेट किए गए बाइटकोड को सुनिश्चित करने के लिए देख सकते हैं।लेकिन एक सामान्य नियम के रूप में: जो भी अधिक पठनीय है उसका उपयोग करें। – Axel
आप अभी भी वस्तुओं की एक ही संख्या को तुरंत चालू कर रहे हैं। 'New' शब्द वाले बिट्स तत्काल हैं, भले ही आप चर निर्दिष्ट नहीं करते हैं। – khelwood
कोई भी लाभ नहीं है। यहां तक कि अगर वहां भी, यह इतना छोटा होगा कि आप इस तरह कुछ पर ध्यान केंद्रित करने में अपना समय बर्बाद कर देंगे। – Kayaman