बार-बार ऑब्जेक्ट का उपयोग करते समय, डेटा को साफ़ करने के लिए इसे साफ़ करना बेहतर होता है, या एक नई ऑब्जेक्ट को तुरंत चालू करना बेहतर होता है?जावा प्रदर्शन: किसी ऑब्जेक्ट को साफ़ करने पर यह शून्य या सेट करने के लिए एक नया ऑब्जेक्ट बनाना बेहतर होता है।
Customer a = new Customer();
Collection<Customer> data = new ArrayList<Customer>();
while (rs != null && rs.next()) {
a = new Customer();
a.setCustId(rs.getLong("CUST_ID"));
a.setPerNo(period);
a.setName(rs.getString("cust_nm"));
if(a!= null)
data.add(a);
}
मैं सोच रहा हूँ
a = new Customer();
यह करने के लिए सबसे अच्छा तरीका है या यह किया जाना चाहिए अगर है कि क्या:
Object a = new Object();
for(...){
...
a = null;
**OR**
a = new Object();
}
यहाँ उदाहरण मैं की बात कर रहा हूँ है स्मृति पर और इष्टतम प्रदर्शन के लिए अलग-अलग, क्योंकि प्रत्येक लूप में नई ग्राहक जानकारी डालने के लिए है। मेरी समझ से, यदि आप कोई नया ग्राहक बनाते हैं तो आप एक नई वस्तु बना रहे हैं और उस नई ऑब्जेक्ट को इंगित कर रहे हैं। तो पुरानी वस्तु जो इंगित कर रही थी उसे कचरा कलेक्टर द्वारा उठाया जाएगा - इसे शून्य पर सेट करने के मामले में। क्या यह एक सही समझ है?
आपको परिणाम सेट की प्रत्येक पंक्ति के लिए एक नया ग्राहक बनाना होगा, अन्यथा आप उसी ऑब्जेक्ट को सूची में उसी समय समाप्त कर देंगे जब परिणाम सेट में पंक्तियां होंगी, इसके अनुसार सेट करें परिणाम सेट में अंतिम पंक्ति। इसके अलावा शून्य जांच अनावश्यक है, 'ए' शून्य नहीं हो सकता है। –
जब तक 'a.setName' और' if (a! = Null) 'के बीच कुछ नहीं हो रहा है, तो' if (a! = Null) 'test पूरी तरह से अनावश्यक है। यह * हमेशा * पास होगा। – CPerkins