2011-07-04 10 views
16

मैं मोंगोडब के लिए नया हूं और जैसे ही मैं जावा & मोंगोड के लिए ट्यूटोरियल में जा रहा हूं। मुझे लगता है कि BasicDBObject के लिए put() और append() है और मैंने एपीआई पर एक नज़र डाली, put() उत्तराधिकारी और संलग्न() BasicDBObject के लिए अंतर्निहित है। क्या कोई भी अलग है, जैसे पहुंच की गति? धन्यवाद!मोंगोडीबी जावा एपीआई: डालें() बनाम संलग्न करें()

उत्तर

20
BasicDBObject sources से

:

public BasicDBObject append(String key , Object val){ 
    put(key , val); 
    return this; 
} 

put(), पिछले मान देता है यदि लागू हो। append() आंतरिक रूप से put() पर कॉल करता है और BasicDBObject उदाहरण स्वयं देता है। अनिवार्य रूप से, append()put() के लिए fluent interface है। यह आप इस तरह कुछ करने के लिए अनुमति देता है: जहाँ तक प्रदर्शन चला जाता है के रूप में

BasicDBObject o = new BasicDBObject().append("One", 1).append("Two", 2).append("Three", 3); 

, JVM माना जाता है किappend() तरह इनलाइन तरीकों अगर वे अक्सर पर्याप्त कहीं इस्तेमाल कर रहे हैं होगा। मेरे अनुभव से और प्रोफाइलिंग का थोड़ा सा, हालांकि, यह हमेशा सत्य नहीं होता है और आप सीधे put() का उपयोग करके और जेवीएम अनुमान लगाने के द्वारा थोड़ा सा गति प्राप्त करने के लिए बाध्य हैं।

उस ने कहा, कोड पठनीयता हमेशा प्राथमिकता होनी चाहिए। किसी भी संभावित अनुकूलन को खोजने के लिए बस अपना कोड लिखें, और बाद में बेंचमार्क/प्रोफाइल। समयपूर्व अनुकूलन एक प्रलोभन है जिसे हर कीमत से बचा जाना चाहिए ...

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