Java Tutorial in Hindi
जावा सिंगलटन क्लास क्या है? उपयोग, कैसे बनाएं (Java Singleton Class in Hindi)
Table of Contents
- परिचय
- जावा में सिंगलटन क्लास क्या है? (Singleton Class in Java in Hindi)
- जावा में सिंगलटन क्लास का उपयोग
- जावा सिंगलटन क्लास उदाहरण
- सिंगलटन पैटर्न प्रिन्स्पल्स
- जावा में सिंगलटन क्लास के प्रकार
- हम जावा में सिंगलटन क्लास का उपयोग क्यों करते हैं?
- जावा में सिंगलटन क्लास कैसे बनाएं?
- जावा में थ्रेड-सेफ सिंगलटन क्लास
- सिंक्रोनाइज़्ड के साथ जावा में सिंगलटन क्लास का उदाहरण
- जावा में सिंगलटन क्लास को ब्रेक करना
जावा सिंगलटन क्लास से संबंधित अक्सर पूछे जाने वाले प्रश्न
सिंगलटन क्लास को लागू करने के कई तरीके हैं, जिनमें Eager Initialization, Lazy Initialization, डबल-चेक्ड लॉकिंग, बिल पुघ सिंगलटन और एक एनम का उपयोग करना शामिल है। प्रत्येक दृष्टिकोण के अपने फायदे और विचार हैं।
ईगर इनिशियलाइज़ में क्लास को मेमोरी में लोड करते ही सिंगलटन इंस्टेंस बनाना शामिल है। यह सुनिश्चित करता है कि उदाहरण हमेशा उपलब्ध रहे, लेकिन इससे अनावश्यक रिसोर्सेज उपयोग हो सकता है।
लेज़ी इनिशियलाइज़ सिंगलटन उदाहरण तभी बनाता है जब इसका पहली बार अनुरोध किया जाता है। यह resources का प्रोटेक्शन करता है लेकिन multi-threaded environment में थ्रेड-सुरक्षा संबंधी चिंताएँ उत्पन्न कर सकता है।
सिंगलटन क्लासेज में थ्रेड सुरक्षा को सिंक्रनाइज़ तरीकों, डबल-चेक लॉकिंग, volatile कीवर्ड का उपयोग करके या बिल पुघ सिंगलटन दृष्टिकोण का उपयोग करके तकनीकों के माध्यम से प्राप्त किया जा सकता है।
नहीं, सिंगलटन पैटर्न डिफ़ॉल्ट रूप से थ्रेड-सुरक्षित नहीं है। execution के आधार पर, बहु-थ्रेडेड एनवायरनमेंट में थ्रेड सुरक्षा सुनिश्चित करने के लिए एक्स्ट्रा स्टेप्स की आवश्यकता हो सकती है।
हाँ, सिंगलटन क्लासेज को किसी अन्य क्लास की तरह subclassed और extended किया जा सकता है। हालाँकि, यह सुनिश्चित करने के लिए ध्यान रखा जाना चाहिए कि उपवर्ग सिंगलटन पैटर्न का पालन करता है और एक सिंगल उदाहरण बनाए रखता है।
हां, सिंगलटन क्लासेज को sorted किया जा सकता है। हालाँकि, आपको यह सुनिश्चित करने के लिए readResolve() मेथड को लागू करने की आवश्यकता है कि डीसेरिएलाइज़ेशन मौजूदा सिंगलटन उदाहरण लौटाता है।
जब आप यह सुनिश्चित करना चाहते हैं कि आपके एप्लिकेशन में क्लास का एक ही उदाहरण है तो सिंगलटन क्लास का उपयोग करें। यह साझा resources के मैनेजमेंट, global situation को बनाए रखने, या किसी कॉम्पोनेन्ट के एकल उदाहरण तक एक्सेस को कण्ट्रोल करने के लिए उपयोगी है।
हां, विकल्पों में निर्भरता इंजेक्शन फ़्रेमवर्क्स का उपयोग करना, उदाहरणों को स्पष्ट रूप से passed करना और global variables का उपयोग करना शामिल है। चुनाव आपके एप्लिकेशन के आर्किटेक्चर और डिज़ाइन लक्ष्यों पर निर्भर करता है।