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

जावा क्रमांकन में अंतिम के साथ क्षणिक कैसे काम करता है?

जावा में, क्रमांकन एक अवधारणा है जिसके उपयोग से हम किसी वस्तु की स्थिति को बाइट स्ट्रीम में लिख सकते हैं ताकि हम इसे नेटवर्क पर स्थानांतरित कर सकें (जेपीए और आरएमआई जैसी तकनीकों का उपयोग करके)।

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

इसलिए, किसी वर्ग की वस्तु को क्रमबद्ध करते समय, यदि आप चाहते हैं कि JVM किसी विशेष आवृत्ति चर की उपेक्षा करे, तो आपको इसे क्षणिक घोषित कर सकते हैं।

सार्वजनिक क्षणिक अंतर सीमा =55; // सार्वजनिक int b जारी नहीं रहेगा; // बनी रहेगी

उदाहरण

निम्नलिखित जावा प्रोग्राम में, क्लास स्टूडेंट के पास दो इंस्टेंस वेरिएबल नाम और उम्र होते हैं, जहां उम्र को क्षणिक घोषित किया जाता है। SerializeExample . नामक एक अन्य वर्ग में हम छात्र वस्तु को क्रमबद्ध और नष्ट करने की कोशिश कर रहे हैं और इसके उदाहरण चर प्रदर्शित करते हैं। चूंकि उम्र को अदृश्य (क्षणिक) बना दिया जाता है, केवल नाम मान प्रदर्शित होता है।

आयात करें निजी क्षणिक अंतर आयु; सार्वजनिक छात्र (स्ट्रिंग नाम, अंतर आयु) { यह नाम =नाम; यह उम्र =उम्र; } सार्वजनिक शून्य प्रदर्शन () { System.out.println ("नाम:" + this.name); System.out.println ("आयु:" + this.age); }}सार्वजनिक वर्ग SerializeExample { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) अपवाद फेंकता है {// एक छात्र वस्तु बनाना छात्र एसटीडी =नया छात्र ("सरमिस्ता", 27); // ऑब्जेक्ट को सीरियलाइज़ करना FileOutputStream fos =new FileOutputStream ("e:\\student.ser"); ObjectOutputStream oos =नया ObjectOutputStream (fos); oos.writeObject (एसटीडी); oos.बंद (); फ़ोस.क्लोज़ (); System.out.println ("डी-सीरियलाइज़ेशन से पहले के मान:"); एसटीडी.डिस्प्ले (); System.out.println ("ऑब्जेक्ट क्रमबद्ध ......."); // ऑब्जेक्ट को डी-सीरियलाइज़ करना FileInputStream fis =new FileInputStream("e:\\student.ser"); ऑब्जेक्ट इनपुटस्ट्रीम ओआईएस =नया ऑब्जेक्ट इनपुटस्ट्रीम (एफआईएस); छात्र deSerializedStd =(छात्र) ois.readObject (); System.out.println ("ऑब्जेक्ट डी-सीरियलाइज़्ड......."); ois. करीब (); फिस.क्लोज़ (); System.out.println ("डी-सीरियलाइज़ेशन के बाद मान"); deSerializedStd.display (); }}

आउटपुट

डी-सीरियलाइजेशन से पहले के मान:नाम:सरमिस्टाएज:27ऑब्जेक्ट सीरियलाइज्ड ......ऑब्जेक्ट डी-सीरियलाइज्ड ...... डी-सीरियलाइजेशन के बाद के मान नाम:सरमिस्ताआयु:0

  1. हम जावा में स्ट्रिंगबफर के साथ स्ट्रिंगबिल्डर की तुलना कैसे कर सकते हैं?

    स्ट्रिंगबफर ऑब्जेक्ट आमतौर पर बहु-थ्रेडेड वातावरण में उपयोग करने के लिए सुरक्षित होते हैं जहां एकाधिक थ्रेड एक ही StringBuffer . तक पहुंचने का प्रयास कर रहे हों एक ही समय में वस्तु। स्ट्रिंगबिल्डर थ्रेड-सुरक्षित StringBuffe . के लिए एक प्रतिस्थापन है आर वर्ग और यह बहुत तेजी से काम करता है क्योंकि

  1. जावा में परिवर्तनीय वस्तु संदर्भों के साथ एक अपरिवर्तनीय वर्ग कैसे बनाएं?

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

  1. जावा ऑब्जेक्ट को JSON में कैसे बदलें

    इस ट्यूटोरियल में हम दो पुस्तकालयों, जैक्सन और जीसन का उपयोग करके जावा ऑब्जेक्ट को JSON में बदलने का तरीका दिखाते हैं। हम एक व्यक्ति वर्ग का उपयोग करेंगे जो सिर्फ एक मानक पीओजेओ है। एक बार जब हम एक व्यक्ति वस्तु बना लेते हैं, तो हम इसे विभिन्न पुस्तकालयों का उपयोग करके JSON में बदल सकते हैं। Perso