Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

यह एक AI अनुवादित पोस्ट है।

제이온

[इफेक्टिव जावा] आइटम 3. निजी कन्स्ट्रक्टर या एनम टाइप के साथ सिंगलटन होने की गारंटी दें

  • लेखन भाषा: कोरियाई
  • आधार देश: सभी देश country-flag

भाषा चुनें

  • हिन्दी
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • Magyar

durumis AI द्वारा संक्षेपित पाठ

  • सिंगलटन एक ऐसा क्लास है जिसका केवल एक उदाहरण बनाया जा सकता है, जिसका उपयोग स्टेटलेस ऑब्जेक्ट या अद्वितीय सिस्टम घटकों को लागू करने के लिए किया जाता है।
  • सिंगलटन बनाने के तरीके में पब्लिक स्टैटिक सदस्य जो फाइनल फील्ड है, स्टैटिक फैक्टरी मेथड का उपयोग करने का तरीका, एनम टाइप का उपयोग करने का तरीका शामिल है, और एनम टाइप का उपयोग करने का तरीका सबसे अच्छा है।
  • जब एक सिंगलटन क्लास को सीरियलाइज किया जाता है, तो आपको केवल Serializable को लागू करने के अलावा, सभी उदाहरण फ़ील्ड को transient के रूप में घोषित करना होगा और readResolve() विधि को फिर से परिभाषित करना होगा।

सिंगलटन

सिंगलटन की अवधारणा

सिंगलटन एक ऐसा वर्ग है जो केवल एक ही उदाहरण बना सकता है। सिंगलटन का एक विशिष्ट उदाहरण स्टेटलेस ऑब्जेक्ट या एक अनूठा सिस्टम घटक है। हालाँकि, सिंगलटन वर्गों को परीक्षण करना मुश्किल होता है जब तक कि उन्हें इंटरफ़ेस में परिभाषित नहीं किया जाता है और उनकी अपनी कार्यान्वितियों के साथ, इसके अलावा वे हैं।


सिंगलटन बनाने के तरीके

सार्वजनिक स्थिर सदस्य जो अंतिम क्षेत्र है


public class Elvis {

    public static final Elvis INSTANCE = new Elvis();

    private Elvis() {
    }

    public void speak() {
        System.out.println("elvis");
    }


निजी कंस्ट्रक्टर को केवल एक बार तब बुलाया जाता है जब एल्विस उदाहरण को इनिशियलाइज़ किया जाता है, यह सुनिश्चित करता है कि यह पूरे सिस्टम में अद्वितीय है। हालांकि, निजी कंस्ट्रक्टर को AccessibleObject.setAccessible() का उपयोग करके बुलाया जा सकता है, और इस तरह के रिफ्लेक्शन हेरफेर को दूसरा ऑब्जेक्ट बनाते समय अपवाद फेंककर रोका जा सकता है।


  • लाभ
    • यह स्पष्ट रूप से API में स्पष्ट है कि वर्ग एक सिंगलटन है।
    • यह संक्षिप्त है।


सार्वजनिक स्थिर के रूप में एक स्थिर फ़ैक्टरी विधि प्रदान करना

public class Elvis {

    private static final Elvis INSTANCE = new Elvis();

    private Elvis() {
    }

    public static Elvis getInstance() {
        return INSTANCE;
    }

    public void speak() {
        System.out.println("elvis");
    }


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


  • लाभ
    • API को बदले बिना सिंगलटन को गैर-सिंगलटन में बदला जा सकता है।
      • उदाहरण के लिए, स्थिर फ़ैक्टरी विधि प्रति थ्रेड एक अलग उदाहरण वापस कर सकती है।
    • आप चाहें तो एक सामान्य सिंगलटन फ़ैक्टरी विधि में बदल सकते हैं।
    • स्थिर फ़ैक्टरी के तरीके के संदर्भ को एक आपूर्तिकर्ता के रूप में इस्तेमाल किया जा सकता है।
      • उदाहरण के लिए, आप Elvis::getInstance के बजाय Supplier<Elvis> का उपयोग कर सकते हैं।


यदि आप इन लाभों का उपयोग नहीं करने जा रहे हैं, तो पहला तरीका बेहतर है।


एनुम प्रकार का प्रयोग करना

public enum Elvis {

    INSTANCE;

    public void speak() {
        System.out.println("elvis");
    }


एनुम प्रकार का उपयोग करना सबसे अच्छा तरीका है। ऊपर दिए गए दो तरीकों की तुलना में, यह रिफ्लेक्शन हमलों के लिए भी सुरक्षित है और कोड साफ है। इसके अलावा, जैसा कि नीचे बताया गया है, ऊपर दिए गए दो तरीकों को सीरियलाइज़ करते समय अतिरिक्त कोड जोड़ने की आवश्यकता होती है।

हालांकि, ध्यान दें कि जबकि सिंगलटन को इंटरफ़ेस विरासत में मिल सकती है, यह वर्गों को विरासत में नहीं मिल सकता है।


सिंगलटन वर्गों को सीरियलाइज़ करते समय सावधानियां

यदि आप पहले या दूसरे तरीके से बनाए गए सिंगलटन वर्ग को सीरियलाइज़ करना चाहते हैं, तो आपको बस Serializable को लागू करने से अधिक करने की आवश्यकता है, आपको सभी इंस्टेंस फ़ील्ड को क्षणिक घोषित करना होगा और readResolve() विधि को ओवरराइड करके प्रदान करना होगा।


private Object readResolve throws ObjectStreamException {
    return INSTANCE;


स्रोत

제이온
제이온
제이온
제이온
[इफ़ेक्टिव जावा] आइटम 5. संसाधनों का उल्लेख न करें, डिपेंडेंसी इंजेक्शन का उपयोग करें यदि कोई वर्ग आंतरिक रूप से एक से अधिक संसाधनों पर निर्भर करता है, तो सिंगलटन और स्टैटिक उपयोगिता वर्गों के बजाय डिपेंडेंसी इंजेक्शन का उपयोग करना बेहतर होता है। डिपेंडेंसी इंजेक्शन के माध्यम से, आप वर्ग की लचीलापन, पुन: उपयोग और परीक्षण क्षमता में सुधार क

28 अप्रैल 2024

[इफेक्टिव जावा] आइटम 4. इंस्टेंटिएशन को रोकने के लिए प्राइवेट कंस्ट्रक्टर का उपयोग करें केवल स्थिर विधियों और क्षेत्रों वाले उपयोगिता वर्गों के लिए, इंस्टेंटिएशन को रोकने के लिए कंस्ट्रक्टर को निजी रूप से घोषित करना सबसे अच्छा है। यह कम्पाइलर द्वारा स्वचालित रूप से उत्पन्न डिफ़ॉल्ट कंस्ट्रक्टर को नियंत्रित करने और कक्षा के बाहर इंस्टेंटिएशन

28 अप्रैल 2024

[जावा] रिफ्लेक्शन अवधारणा और उपयोग विधि रिफ्लेक्शन एक एपीआई है जो जावा प्रोग्राम के निष्पादन के दौरान क्लास जानकारी तक पहुंच प्रदान करके क्लास में हेरफेर करने की अनुमति देता है। रनटाइम पर क्लास बनाना और फ़ील्ड और विधियों तक पहुँच प्राप्त करना संभव है, लेकिन ध्यान रहे कि यह एन्कैप्सुलेशन को बाधि

25 अप्रैल 2024

मि. नो-ऑल 6 - मार्च 2024 LLaMa, Falcon, MPT, StarCoder जैसे ओपन-सोर्स LLM को स्थानीय रूप से चलाने योग्य प्लेटफ़ॉर्म LM Studio, और AI सॉफ़्टवेयर इंजीनियर डेविन, मल्टी-एजेंट ऑटोमेशन प्लेटफ़ॉर्म crewAI जैसे विभिन्न AI टूल और सेवाओं का परिचय देता है। इसके अलावा, AI क्षमता विकास के लि
Pilot AISmrteasy
Pilot AISmrteasy
Pilot AISmrteasy
Pilot AISmrteasy

21 मार्च 2024

[गैर-प्रमुख, डेवलपर के रूप में जीवित रहना] 9. पोर्टफोलियो बनाने के लिए अच्छी साइटें सरकारी सहायता या बूटकैम्प छात्रों के लिए नौकरी के लिए पोर्टफोलियो बनाने के लिए अच्छी साइटों के 3 प्रकारों को पेश किया गया है। कंपनी में व्यापक रूप से उपयोग किए जाने वाले ग्रुपवेयर, ERP, सिस्टम इंट्रा-कंपनी मानव संसाधन जैसे सिस्टम विकसित करना या प्रसिद्ध व
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

30 मार्च 2024

[गैर-प्रमुख, डेवलपर के रूप में जीवित रहना] 14. नौसिखिए डेवलपर द्वारा अक्सर पूछे जाने वाले तकनीकी साक्षात्कार सामग्री का सारांश नौसिखिए डेवलपर के लिए तकनीकी साक्षात्कार की तैयारी के लिए एक मार्गदर्शिका। मुख्य मेमोरी क्षेत्र, डेटा संरचना, RDBMS और NoSQL, प्रक्रियात्मक और ऑब्जेक्ट-ओरिएंटेड, ओवरराइडिंग और ओवरलोडिंग, पेज रिप्लेसमेंट एल्गोरिदम, प्रक्रिया और थ्रेड, OSI 7 लेयर, TCP और UD
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 अप्रैल 2024

ऑटोमेटिक ट्रेडिंग प्रोग्राम में सुधार के लिए विचार यह एक ग्रिड ट्रेडिंग ऑटोमेशन प्रोग्राम के लिए सुधार के विचारों का परिचय देता है, जिसमें बड़े आयोजनों के प्रबंधन, निवेश निधि प्रबंधन तर्क, शॉर्ट पोजीशन को जोड़ने जैसे सुझाव दिए गए हैं। विशेष रूप से, यह बताता है कि होल्डिंग फ़ंक्शन के माध्यम से, गिरने पर बे
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마
(로또 사는 아빠) 살림 하는 엄마

21 अप्रैल 2024

[SI डेवलपर की कहानी] 09. SI प्रोजेक्ट में शामिल होने के बाद वास्तविक विकास की शुरुआत SI डेवलपर प्रोजेक्ट में शामिल होने के बाद RFP में बताए गए कार्यों का विकास करते हैं, लेकिन ग्राहक की अतिरिक्त आवश्यकताओं के कारण कोड में बार-बार परिवर्तन होता रहता है जिससे दक्षता की तुलना में तेजी से विकास महत्वपूर्ण हो जाता है। इसलिए क्लीन कोड या दक्षता
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

18 अप्रैल 2024

सहयोगात्मक उपकरण, स्लैक (स्लैक) में चैनल प्रबंधित करना स्लैक चैनल प्रबंधन के लिए सुझाव दिए गए हैं। कंपनी के आकार और संस्कृति के अनुसार सामान्य चैट, सूचनाएँ, विभागीय सार्वजनिक/निजी चैनल, प्रोजेक्ट-वार चैनल आदि को प्रभावी ढंग से संचालित करें और टीम के नाम और उद्देश्य को स्पष्ट रूप से दर्शाने वाले चैनल नामकरण के
여행가고싶은블로거지만여행에대해다루진않을수있어요
여행가고싶은블로거지만여행에대해다루진않을수있어요
स्लैक चैनल व्यवस्थित करने के बारे में छवि
여행가고싶은블로거지만여행에대해다루진않을수있어요
여행가고싶은블로거지만여행에대해다루진않을수있어요

8 फ़रवरी 2024