Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

सॉफ्ट रेफरेंस और फैंटम रेफरेंस के उदाहरण?

मेमोरी-सेंसिटिव कैश को लागू करने के लिए अक्सर सॉफ्ट रेफरेंस का उपयोग किया जाता है। आइए जावा में सॉफ्टरेफरेंस का एक उदाहरण देखें -

उदाहरण

आयात करें }}सार्वजनिक वर्ग डेमो_उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) { डेमो my_instance =नया डेमो (); my_instance.display_msg (); सॉफ्ट रेफरेंस <डेमो> my_softref =नया सॉफ्ट रेफरेंस <डेमो> (my_instance); my_instance =शून्य; my_instance =my_softref.get (); my_instance.display_msg (); }}

आउटपुट

नमस्कार, नमस्ते वहाँ

डेमो नामक एक वर्ग में 'डिस्प्ले_एमएसजी' नामक एक फ़ंक्शन होता है, जो प्रासंगिक संदेश प्रदर्शित करता है। 'डेमो_उदाहरण' नामक एक अन्य वर्ग परिभाषित किया गया है, जिसमें मुख्य कार्य शामिल है। यहां, डेमो क्लास का एक उदाहरण बनाया गया है, और इस उदाहरण पर 'display_msg' फ़ंक्शन को कॉल किया जाता है। डेमो क्लास के लिए ASoftReference उदाहरण बनाया गया है, और इंस्टेंस को शून्य पर असाइन किया गया है। इस सॉफ्टरेफरेंस ऑब्जेक्ट पर 'गेट' फंक्शन को कॉल किया जाता है, और पिछले इंस्टेंस को सौंपा जाता है। इस उदाहरण पर 'डिस्प्ले_एमएसजी' फ़ंक्शन को कॉल किया जाता है। प्रासंगिक संदेश कंसोल पर प्रदर्शित होता है।

प्रेत संदर्भों का उपयोग अक्सर पूर्व-मॉर्टम क्लीनअप क्रियाओं को जावा अंतिमकरण तंत्र के साथ संभव से अधिक लचीले तरीके से शेड्यूल करने के लिए किया जाता है।

आइए अब प्रेत संदर्भों का एक उदाहरण देखें -

उदाहरण

import java.lang.ref.*;class Demo{ public void display_msg(){ System.out.println("Hello There"); }}सार्वजनिक वर्ग डेमो_उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) { डेमो my_instance =नया डेमो (); my_instance.display_msg (); ReferenceQueue refQueue =new ReferenceQueue(); PhantomReference phantomRef =null; फैंटमरेफ =नया फैंटम रेफरेंस <डेमो> (my_instance, refQueue); my_instance =शून्य; my_instance =phantomRef.get (); my_instance.display_msg (); }}

आउटपुट

हैलो देयरएक्सप्शन इन थ्रेड "मेन" java.lang.NullPointerExceptionat Demo_example.main(Demo_example.java:22)

डेमो नामक एक वर्ग में 'डिस्प्ले_एमएसजी' नामक एक फ़ंक्शन होता है जो एक प्रासंगिक संदेश प्रदर्शित करता है। डेमो_उदाहरण नामक एक अन्य वर्ग में मुख्य कार्य होता है। इस फ़ंक्शन में डेमो क्लास का उदाहरण होता है, और उस पर 'display_msg' फ़ंक्शन को कॉल किया जाता है। फिर, एक ReferenceQueue इंस्टेंस बनाया जाता है। एक और फैंटम रेफरेंस इंस्टेंस बनाया गया है और 'नल' को सौंपा गया है। फिर, पिछला इंस्टेंस शून्य को सौंपा गया है, और फिर इस उदाहरण पर 'display_msg' फ़ंक्शन को कॉल किया जाता है। कंसोल पर प्रासंगिक आउटपुट प्रदर्शित होता है।


  1. बैश वैरिएबल ट्यूटोरियल - 6 प्रैक्टिकल बैश ग्लोबल और लोकल वेरिएबल उदाहरण

    यह लेख हमारी चल रही बैश ट्यूटोरियल श्रृंखला का हिस्सा है। किसी भी अन्य प्रोग्रामिंग भाषाओं की तरह, बैश भी चर प्रदान करता है। बैश चर जानकारी के लिए अस्थायी भंडारण प्रदान करते हैं जिसकी कार्यक्रम के जीवनकाल के दौरान आवश्यकता होगी।सिंटैक्स: VARNAME=VALUE नोट: वेरिएबल असाइनमेंट में = साइन के आसपास कोई

  1. एक्सेल में डेटा कैसे प्राप्त करें और कैसे बदलें (4 उपयुक्त उदाहरण)

    यदि आप डेटा प्राप्त करने और रूपांतरित करने के तरीके खोज रहे हैं में एक्सेल , तो यह आपके लिए सही जगह है। कभी-कभी, हमें एक्सेल वर्कबुक, टेक्स्ट/सीएसवी, वेब इत्यादि जैसे बाहरी स्रोतों से डेटासेट प्राप्त करने की आवश्यकता होती है। हम इस डेटासेट को प्राप्त कर सकते हैं और इसे कुछ सरल चरणों का पालन करके एक्

  1. सीएसवी और एक्सेल फाइलों के बीच अंतर (11 उपयुक्त उदाहरण)

    हम अपनी एक्सेल स्प्रेडशीट को बड़ी संख्या में प्रारूपों में सहेज सकते हैं। उनमें से, अल्पविराम से अलग किए गए मान (CSV) और माइक्रोसॉफ्ट एक्सेल स्प्रेडशीट (एक्सएलएस)/एक्सेल दो हैं फ़ाइल स्वरूपों का व्यापक रूप से उपयोग किया जाता है। इस लेख में, हम आपको CSV . के बीच संभावित अंतर दिखाएंगे और एक्सेल फ़ाइले