직렬화 개체의 상태를 바이트 스트림으로 변경하는 프로세스입니다. , 객체의 클래스 인 경우 직렬화 가능하다고 합니다. 또는 부모 클래스는 직렬화 가능 r E 외부화 가능 인터페이스 및 역직렬화 직렬화된 개체를 개체의 복사본으로 다시 변환하는 프로세스입니다.
직렬화하는 동안 과도 예어. JVM 일시적인 키워드에 도달하면 변수의 원래 상태를 무시하고 해당 데이터 유형의 기본값(예:int의 경우 0,)을 저장합니다. 바이트의 경우 0 , 플로트의 경우 0.0 등 A 직렬화 개체의 FileOutputStream 을 통해 수행할 수 있습니다. 및 ObjectOutputStream 수업.
예
import java.io.*; public class SerializationTest implements Serializable { int a = 1, b = 2; transient int c = 3; public static void main(String[] args) throws Exception { SerializationTest obj = new SerializationTest(); // serialization FileOutputStream fos = new FileOutputStream("serialization.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(obj); // de-serialization FileInputStream fis = new FileInputStream("serialization.txt"); ObjectInputStream ois = new ObjectInputStream(fis); SerializationTest test = (SerializationTest)ois.readObject(); System.out.println("a = " + test.a); System.out.println("b = " + test.b); System.out.println("c = " + test.c); } }
출력
a = 1 b = 2 c = 0