कौन सा बेहतर है StringBuffer या StringBuilder?
कौन सा बेहतर है StringBuffer या StringBuilder?

वीडियो: कौन सा बेहतर है StringBuffer या StringBuilder?

वीडियो: कौन सा बेहतर है StringBuffer या StringBuilder?
वीडियो: #36 जावा में स्ट्रिंगबफ़र और स्ट्रिंगबिल्डर 2024, मई
Anonim

स्ट्रिंग अपरिवर्तनीय है जबकि स्ट्रिंगबफर और StringBuider परिवर्तनशील वर्ग हैं। स्ट्रिंगबफर थ्रेड सुरक्षित और सिंक्रनाइज़ है जबकि स्ट्रिंगबिल्डर नहीं है, इसलिए स्ट्रिंगबिल्डर से ज्यादा तेज है स्ट्रिंगबफर . स्ट्रिंग कॉन्सैट + ऑपरेटर आंतरिक रूप से उपयोग करता है स्ट्रिंगबफर या स्ट्रिंगबिल्डर कक्षा।

तदनुसार, कौन सा बेहतर है StringBuffer या StringBuilder?

नतीजतन, स्ट्रिंगबिल्डर से तेज है स्ट्रिंगबफर . स्ट्रिंगबफर परिवर्तनशील है। यह लंबाई और सामग्री के मामले में बदल सकता है। स्ट्रिंगबफर थ्रेड-सुरक्षित हैं, जिसका अर्थ है कि उनके पास पहुंच को नियंत्रित करने के लिए सिंक्रनाइज़ किए गए तरीके हैं ताकि केवल एक धागा a. तक पहुंच सकता है स्ट्रिंगबफर एक समय में ऑब्जेक्ट का सिंक्रनाइज़ कोड।

इसी तरह, StringBuffer StringBuilder की तुलना में धीमा क्यों है? के माध्यम से बनाई गई वस्तु स्ट्रिंगबफर ढेर में रखा जाता है। स्ट्रिंगबफर के समान तरीके हैं स्ट्रिंगबिल्डर , लेकिन प्रत्येक विधि में स्ट्रिंगबफर सिंक्रोनाइज़ किया जाता है जो है स्ट्रिंगबफर धागा सुरक्षित है। इस प्रकार स्ट्रिंगबिल्डर ज्यादा तेज़ है से NS स्ट्रिंगबफर प्रत्येक वर्ग के समान तरीकों को कॉल करते समय।

उसके बाद, StringBuffer और StringBuilder में क्या अंतर है?

स्ट्रिंगबिल्डर . स्ट्रिंगबिल्डर के समान है स्ट्रिंगबफर यानी यह ऑब्जेक्ट को हीप में स्टोर करता है और इसे मॉडिफाई भी किया जा सकता है। मुख्य के बीच अंतर NS स्ट्रिंगबफर और स्ट्रिंगबिल्डर क्या वह स्ट्रिंगबिल्डर धागा सुरक्षित नहीं है। स्ट्रिंगबिल्डर तेज़ है क्योंकि यह थ्रेड सुरक्षित नहीं है।

मुझे स्ट्रिंगबफर का उपयोग कब करना चाहिए?

यदि ऑब्जेक्ट मान बदल सकता है और केवल एक थ्रेड से ही पहुँचा जा सकता है, उपयोग एक StringBuilder क्योंकि StringBuilder अतुल्यकालिक है। यदि वस्तु मान बदल सकता है, और कई थ्रेड्स द्वारा संशोधित किया जाएगा, उपयोग ए स्ट्रिंगबफर चूंकि स्ट्रिंगबफर समकालिक है।

सिफारिश की: