"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या जावा में 'इंस्टेंसऑफ़' वास्तव में एक प्रदर्शन बाधा है?

क्या जावा में 'इंस्टेंसऑफ़' वास्तव में एक प्रदर्शन बाधा है?

2024-11-13 को प्रकाशित
ब्राउज़ करें:205

Is 'instanceof' in Java Really a Performance Bottleneck?

जावा में 'इंस्टेंसऑफ' का उपयोग करने का प्रदर्शन निहितार्थ

जावा में 'इंस्टेंसऑफ' ऑपरेटर यह निर्धारित करने के लिए टाइप चेकिंग करता है कि कोई ऑब्जेक्ट एक है या नहीं किसी निर्दिष्ट वर्ग या इंटरफ़ेस का उदाहरण। हालांकि आमतौर पर OO डिज़ाइन में इसके उपयोग को कम करने की सलाह दी जाती है, यह आलेख विशेष रूप से इसके प्रदर्शन प्रभाव की जांच करता है।

'=='

समानता ऑपरेटर के विपरीत 'के साथ तुलना ==', जो वस्तु पहचान के संदर्भों की तुलना करता है, 'instanceof' प्रकारों की तुलना करता है। '==' काफी तेज है, विशेष रूप से संदर्भ प्रकारों के लिए, क्योंकि यह केवल जांच करता है कि संदर्भ समान हैं या नहीं।

बेंचमार्किंग वैकल्पिक कार्यान्वयन

प्रदर्शन का मात्रात्मक आकलन करने के लिए 'इंस्टेंसऑफ़' के लिए, चार वैकल्पिक कार्यान्वयनों के साथ एक बेंचमार्क आयोजित किया गया था:

  1. 'instanceof' कार्यान्वयन
  2. ओवरराइड टेस्ट विधि के साथ सार वर्ग
  3. कस्टम प्रकार कार्यान्वयन
  4. 'getClass() == _.class' कार्यान्वयन

परिणाम

बेंचमार्क से पता चला कि 'instanceof' वास्तव में सबसे तेज़ दृष्टिकोण है, इसके बाद 'getClass()' आता है। कस्टम प्रकार का कार्यान्वयन और अमूर्त वर्ग पद्धति काफी धीमी थी।

इन निष्कर्षों के आधार पर, 'इंस्टेंसऑफ़' का उपयोग प्रदर्शन संबंधी चिंता का विषय नहीं होना चाहिए। हालाँकि, यदि अत्यधिक प्रदर्शन अनुकूलन की आवश्यकता है, तो 'getClass()' एक व्यवहार्य विकल्प हो सकता है।

निष्कर्ष

अधिकांश उपयोग के मामलों के लिए, 'instanceof' सबसे तेज़ रहता है जावा में टाइप चेकिंग की विधि। इसका प्रदर्शन 'getClass()' के समान है। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि 'instanceof' पर अत्यधिक निर्भरता से कोड कम कुशल हो सकता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3