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

Java में ट्रांजिएंट वेरिएबल सीरियलाइज़ क्यों नहीं होता?

सीरियलाइज़ेशन जावा ऑब्जेक्ट्स को बाइट्स के अनुक्रम के रूप में बनाए रखने की एक प्रक्रिया है जिसमें ऑब्जेक्ट का डेटा साथ ही ऑब्जेक्ट के प्रकार और ऑब्जेक्ट में संग्रहीत डेटा के प्रकारों के बारे में जानकारी शामिल होती है। सीरियलाइज़ेशन जावा ऑब्जेक्ट के मान/स्थिति का बाइट्स में अनुवाद है ताकि इसे नेटवर्क पर भेजा जा सके या इसे सेव किया जा सके। दूसरी ओर, डीसीरियलाइज़ेशन बाइट कोड को संबंधित जावा ऑब्जेक्ट्स में बदलना है।

ट्रांजिएंट वेरिएबल एक ऐसा वेरिएबल है जिसका मान सीरियलाइज़ेशन प्रक्रिया के दौरान सीरियलाइज़ नहीं किया जाता। जब हम इसे डीसीरियलाइज़ करते हैं तो इस वेरिएबल के लिए हमें डिफ़ॉल्ट मान मिलता है।

सिंटैक्स

private transient <member-variable>;

उदाहरण

import java.io.*; 
class EmpInfo implements Serializable { 
    String name; 
    private transient int age; 
    String occupation; 
    public EmpInfo(String name, int age, String occupation) { 
        this.name = name; 
        this.age = age; 
        this.occupation = occupation; 
    } 
    public String toString() { 
        StringBuffer sb = new StringBuffer(); 
        sb.append("Name:"+"\n"); 
        sb.append(this.name+"\n"); 
        sb.append("Age:"+ "\n"); 
        sb.append(this.age + "\n"); 
        sb.append("Occupation:" + "\n"); 
        sb.append(this.occupation); 
        return sb.toString(); 
    } 
} 
// main class
public class TransientVarTest { 
    public static void main(String args[]) throws Exception { 
        EmpInfo empInfo = new EmpInfo("Adithya", 30, "Java Developer"); 
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("empInfo")); 
        oos.writeObject(empInfo); 
        oos.close(); 
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("empInfo")); 
        EmpInfo empInfo1 = (EmpInfo)ois.readObject(); 
        System.out.println(empInfo1); 
    } 
}

आउटपुट

Name: Adithya Age: 0 Occupation: Java Developer

  1. Android पर चलने वाले Java प्रोग्राम मानक Java API और वर्चुअल मशीन का उपयोग क्यों नहीं करते? Android पर चलने वाले Java प्रोग्राम मानक Java API और वर्चुअल मशीन का उपयोग क्यों नहीं करते?

    मानक Java API और वर्चुअल मशीन मुख्य रूप से डेस्कटॉप और सर्वर सिस्टम के लिए डिज़ाइन किए गए हैं। वे मोबाइल उपकरणों के साथ उतने संगत नहीं हैं। इस कारण से, Google ने मोबाइल उपकरणों के लिए एक अलग API और वर्चुअल मशीन बनाई। इसे Dalvik Virtual Machine (DVM) के नाम से जाना जाता है। Dalvik वर्चुअल मशीन Andr

  1. Yahoo उल्लंघन से प्रभावित? ProtonMail क्यों नहीं आजमाते? Yahoo उल्लंघन से प्रभावित? ProtonMail क्यों नहीं आजमाते?

    Yahoo! ने हाल ही में एक बड़े सुरक्षा उल्लंघन की पुष्टि की। जब तक आप किसी चट्टान के नीचे नहीं रह रहे हैं, आपने शायद इसके बारे में सुना होगा। इस तरह के उल्लंघन, जैसे Ashley Madison हैक - जहां 3.7 करोड़ से अधिक खाते समझौता किए गए थे - आजकल आम बात हो गई है। Yahoo! का उल्लंघन Ashley Madison से कहीं बड़ा

  1. विंडोज 10 टेक्निकल प्रीव्यू आपका मुख्य OS क्यों नहीं होना चाहिए विंडोज 10 टेक्निकल प्रीव्यू आपका मुख्य OS क्यों नहीं होना चाहिए

    विंडोज 10 टेक्निकल प्रीव्यू को इस महीने की शुरुआत में जारी किया गया था। सकारात्मक समीक्षाओं के बाद, कुछ उपयोगकर्ताओं ने अपने मुख्य विंडोज 7 या 8 ऑपरेटिंग सिस्टम को विंडोज 10 में अपग्रेड कर लिया। जब रिपोर्ट्स सामने आईं कि विंडोज 10 टेक्निकल प्रीव्यू उनके हर कीस्ट्रोक को रिकॉर्ड कर रहा है, तो भोले उपय