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

जावा में SerialVersionUID कीवर्ड का महत्व?


SerialVersionUID

  • SerialVersionUID को जावा में private static final long वेरिएबल के रूप में घोषित किया जाना चाहिए। यह संख्या कंपाइलर द्वारा क्लास की स्थिति और क्लास एट्रिब्यूट्स के आधार पर गणना की जाती है। यह वह संख्या है जो JVM को ऑब्जेक्ट की स्थिति की पहचान करने में मदद करेगी जब वह फ़ाइल से ऑब्जेक्ट की स्थिति को पढ़ता है।
  • SerialVersionUID का उपयोग डिसीरियलाइज़ेशन के दौरान यह सत्यापित करने के लिए किया जा सकता है कि सीरियलाइज़्ड ऑब्जेक्ट के प्रेषक और प्राप्तकर्ता ने उस ऑब्जेक्ट के लिए क्लासेस लोड की हैं जो सीरियलाइज़ेशन के संबंध में संगत हैं। यदि डिसीरियलाइज़ेशन ऑब्जेक्ट सीरियलाइज़ेशन से अलग है, तो यह InvalidClassException फेंक सकता है।
  • यदि serialVersionUID निर्दिष्ट नहीं है तो रनटाइम क्लास के विभिन्न पहलुओं के आधार पर उस क्लास के लिए एक डिफ़ॉल्ट serialVersionUID मान की गणना करेगा।

उदाहरण

import java.io.*; 
class Employee implements Serializable { 
    private static final long serialVersionUID = 5462223600l; 
    int empId; 
    String name; 
    String location; 
    Employee(int empId, String name, String location) { 
        this.empId = empId; 
        this.name = name; 
        this.location = location; 
    } 
    void empData() { 
        System.out.println("कर्मचारी आईडी है: " + empId); 
        System.out.println("कर्मचारी नाम है: " + name); 
        System.out.println("कर्मचारी स्थान है: " + location); 
    } 
} 
public class EmployeeTest { 
    public static void main(String[] args)throws Exception{ 
        Employee emp = new Employee(115, "Raja", "Hyderabad"); 
        emp.empData();  
        FileOutputStream fos = new FileOutputStream("E:\\Employee.txt"); 
        ObjectOutputStream oos = new ObjectOutputStream(fos); 
        oos.writeObject(emp); 
        System.out.println("ऑब्जेक्ट सीरियलाइज़्ड"); 
    } 
}

आउटपुट

कर्मचारी आईडी है: 115 कर्मचारी नाम है: Raja कर्मचारी स्थान है: Hyderabad ऑब्जेक्ट सीरियलाइज़्ड

  1. Java 9 में destroyForcibly() मेथड का महत्व Java 9 में destroyForcibly() मेथड का महत्व

    Java 9 ने Process क्लास में destroyForcibly() मेथड पेश किया जो प्रक्रियाओं को बलपूर्वक समाप्त करने का एक विश्वसनीय तरीका प्रदान करता है जब सामान्य destroy() (विनम्र समाप्ति) विफल हो जाता है या बहुत धीमा होता है। destroy() बनाम destroyForcibly() पहलूdestroy()destroyForcibly() सिग्नलSIGTERM

  1. - Java में super कीवर्ड

    super वेरिएबल तत्काल पैरेंट क्लास इंस्टेंस को संदर्भित करता है।super वेरिएबल तत्काल पैरेंट क्लास मेथड को इनवोक कर सकता है।super() तत्काल पैरेंट क्लास कंस्ट्रक्टर के रूप में कार्य करता है और चाइल्ड क्लास कंस्ट्रक्टर में पहली लाइन होनी चाहिए।ओवरराइडन मेथड के सुपरक्लास संस्करण को इनवोक करते समय super क

  1. - पायथन में कर्मचारी महत्व

    मान लीजिए हमारे पास कर्मचारी जानकारी की एक डेटा संरचना है, जिसमें कर्मचारी की विशिष्ट आईडी, उसका महत्व मूल्य और उसके प्रत्यक्ष अधीनस्थों की आईडी हैं। उदाहरण के लिए, कर्मचारी 1 कर्मचारी 2 का नेता है, और कर्मचारी 2 कर्मचारी 3 का नेता है। मान लीजिए उनके महत्व मूल्य क्रमशः 15, 10 और 5 हैं। तब कर्मचारी