SerialVersionUID
- द SerialVersionUID निजी स्थिर अंतिम लंबी . के रूप में घोषित किया जाना चाहिए जावा में चर। इस संख्या की गणना कंपाइलर द्वारा वर्ग की स्थिति और वर्ग विशेषताओं के आधार पर की जाती है। यह वह संख्या है जो JVM को किसी फ़ाइल से ऑब्जेक्ट की स्थिति को पढ़ने पर किसी ऑब्जेक्ट की स्थिति की पहचान करने में मदद करेगी।
- द SerialVersionUID deserialization . के दौरान उपयोग किया जा सकता है यह सत्यापित करने के लिए कि एक क्रमबद्ध वस्तु के प्रेषक और रिसीवर ने उस वस्तु के लिए लोड कक्षाएं की हैं जो संगत हैं w.r.t क्रमबद्धता . यदि डिसेरिएलाइज़ेशन ऑब्जेक्ट क्रमांकन से भिन्न है, तो यह एक 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("Employee Id is: "+ empId);
System.out.println("Employee Name is: "+ name);
System.out.println("Employee Location is: "+ 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("Object Serialized");
}
}
आउटपुट
Employee Id is: 115
Employee Name is: Raja
Employee Location is: Hyderabad
Object Serialized