English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
시리얼라이즈는 Java 객체를 바이트 시리얼을 형태로 영구화하는 과정입니다. 이 바이트 시리얼은 객체의 데이터와 객체의 타입 및 저장된 데이터 타입에 대한 정보를 포함하고 있습니다. 시리얼라이즈는 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("이름:");+"\n"); sb.append(this.name+"\n"); sb.append("연령:");+ "\n"); sb.append(this.age + "\n"); sb.append("직업:"); + "\n"); sb.append(this.occupation); return sb.toString(); } } // 메인 클래스 public class TransientVarTest { public static void main(String args[]) throws Exception { EmpInfo empInfo = new EmpInfo("Adithya", 30, "Java 개발자"); 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); } }
출력 결과
이름: Adithya 연령: 0 직업: Java 개발자