स्ट्रिंग एस = "";
कोई ऑब्जेक्ट नहीं बनाता है।
एस + = नया स्ट्रिंग ("ए");
पांच वस्तुओं का निर्माण करता है। new String
, स्ट्रिंगबिल्डर और इसके चार [] और स्ट्रिंग परिणामस्वरूप और इसके चार []
एस + = "बी";
चार वस्तुओं बनाता है, StringBuilder और उसके चार [] और स्ट्रिंग जिसके परिणामस्वरूप और उसके चार []
तो मैं नौ वस्तुओं के कुल प्राप्त जिनमें से तीन स्ट्रिंग वस्तुओं
नोट कर रहे हैं: आप यह सुनिश्चित कर सकते हैं कि "" पहले ही लोड हो चुका है क्योंकि यह क्लासलोडर और कक्षा समेत कई सिस्टम वर्गों में दिखाई देता है।
स्ट्रिंग्स "ए" और "बी" इस प्रश्न के उद्देश्य के लिए नए स्ट्रिंग्स के रूप में नहीं माना जा सकता है या नहीं। आईएमएचओ मैं उन्हें गिनता नहीं हूं क्योंकि वे केवल एक बार में बनाए जाएंगे और यदि यह कोड केवल एक बार चलाया जाता है, तो यह शायद ही मायने रखता है कि कितने तार बनाए गए हैं। उपयोगी होने की अधिक संभावना क्या है यह जानने के लिए कि प्रत्येक बार कोड चलने पर कितनी ऑब्जेक्ट बनाई जाती हैं।
स्रोत
2012-06-24 20:21:01
'b' क्या है? हम इसे जानने के बिना वास्तव में आपके प्रश्न का उत्तर नहीं दे सकते। –
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#String%28java.lang.String%29 –