<시간/> 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("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