직렬화 객체의 데이터는 물론 객체의 유형 및 객체에 저장된 데이터 유형에 대한 정보를 포함하는 바이트 시퀀스 형태로 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.app*end("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