직렬화는 객체 스트림을 처리하는 데 사용되는 메커니즘입니다. 소위 객체 스트림은 객체의 내용을 스트리밍하는 것입니다.
스트리밍된 개체를 읽고 쓸 수 있으며, 스트리밍된 개체를 네트워크 간에 전송할 수도 있습니다. 직렬화는 객체 스트림 읽기 및 쓰기 작업 중에 발생할 수 있는 문제를 해결하기 위한 것입니다(직렬화가 수행되지 않으면 데이터가 잘못될 수 있음). (추천 학습: java 과정)
직렬화를 구현하려면 클래스에서 직렬화 가능 인터페이스를 구현해야 합니다. 이 인터페이스는 식별 인터페이스로 이 클래스의 객체를 직렬화 가능으로 표시한 다음 출력 스트림을 사용합니다. 객체 출력 스트림을 구성하고 writeObject(Object obj) 메서드;
를 통해 구현 객체를 작성(즉, 해당 상태 저장)하려면 역직렬화해야 하는 경우 입력 스트림을 사용하여 객체를 생성할 수 있습니다. readObject 메소드는 스트림에서 객체를 읽습니다. 객체 지속성을 달성하는 것 외에도 직렬화는 객체의 심층 복제에도 사용될 수 있습니다.
Java에서 직렬화가 어떻게 작동하는지 보여주기 위해 이전 튜토리얼에서 언급한 Employee 클래스를 사용하겠습니다. 직렬화 가능 인터페이스를 구현하는 다음 Employee 클래스를 정의한다고 가정하겠습니다.
public class Employee implements java.io.Serializable { public String name; public String address; public transient int SSN; public int number; public void mailCheck() { System.out.println("Mailing a check to " + name + " " + address); } }
클래스의 객체가 성공적으로 직렬화되려면 다음 두 가지 조건을 충족해야 합니다.
클래스는 java.io.Serialized 인터페이스를 구현해야 합니다.
이 클래스의 모든 속성은 직렬화 가능해야 합니다. 속성이 직렬화 가능하지 않은 경우 해당 속성은 임시로 표시되어야 합니다.
Java 표준 클래스가 직렬화 가능한지 알고 싶다면 해당 클래스에 대한 설명서를 확인하세요. 클래스의 인스턴스가 직렬화될 수 있는지 확인하는 것은 매우 간단합니다. 클래스가 java.io.Serialized 인터페이스를 구현하는지 확인하면 됩니다.
위 내용은 Java에서 직렬화를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!