직렬화는 객체 스트림을 처리하는 데 사용되는 메커니즘입니다. + (권장 학습: java 강좌 )
소위 객체 흐름: 객체의 내용을 스트리밍하는 것입니다. 스트리밍된 객체는 읽고 쓸 수 있으며, 스트리밍된 객체는 네트워크 간에 전송될 수도 있습니다.직렬화는 객체 스트림을 읽고 쓸 때 발생하는 문제를 해결하는 것입니다.
직렬화 구현:
직렬화해야 하는 클래스는 직렬화 가능 인터페이스(마커 인터페이스)를 구현합니다. 이 인터페이스에는 구현해야 할 메서드가 없습니다. 직렬화 가능은 개체를 직렬화할 수 있다는 것을 표시하기 위한 것입니다. , 그런 다음 출력 스트림(예: FileOutputStream)을 사용하여 ObjectOutputStream(객체 스트림) 객체를 생성합니다. 그런 다음 ObjectOutputStream 객체의 writeObject(Object obj) 메서드를 사용하여 obj 매개변수로 객체를 작성합니다. , 상태 저장), 복원하려면 입력 스트림을 사용하십시오.직렬화는 언제 사용하나요?
1: 객체 직렬화는 분산 객체를 실현할 수 있습니다.
다음과 같은 주요 애플리케이션: RMI(Remote Method Invocation)는 로컬 시스템에서 개체를 실행할 때와 마찬가지로 개체 직렬화를 사용하여 원격 호스트에서 서비스를 실행합니다.둘: Java 객체 직렬화는 객체의 데이터를 유지할 뿐만 아니라 객체가 참조하는 각 객체의 데이터를 재귀적으로 저장합니다.
전체 개체 계층 구조는 바이트 스트림에 기록될 수 있으며, 이는 파일에 저장되거나 네트워크 연결을 통해 전달될 수 있습니다. 개체 직렬화를 사용하면 개체의 "전체 복사", 즉 개체 자체와 참조된 개체 자체를 복사할 수 있습니다. 개체를 직렬화하면 전체 개체 시퀀스가 생성될 수 있습니다.3: 직렬화는 메모리의 클래스를 파일이나 데이터베이스에 쓸 수 있습니다.
예: 클래스를 직렬화하고 파일로 저장하면 다음에 읽을 때 원래 클래스를 메모리에 복원하기 위해 파일의 데이터를 역직렬화하기만 하면 됩니다. 클래스는 전송을 위해 스트림 데이터로 직렬화될 수도 있습니다. 일반적으로 인스턴스화된 클래스를 저장용 파일로 변환하는 것입니다. 다음에 인스턴스화해야 할 경우 클래스를 메모리로 인스턴스화하고 직렬화 중에 클래스의 모든 변수와 상태를 유지하기 위해 역직렬화하기만 하면 됩니다.넷째: 개체, 파일 및 데이터는 다양한 형식으로 제공되므로 균일하게 전송하고 저장하기 어렵습니다.
직렬화 후에는 원래 무엇이든 동일한 것으로 변환할 수 있으며, 원하는 경우 전송이 완료된 후 공통 형식으로 전송하거나 저장할 수 있습니다. 다시 사용하려면 역직렬화하면 객체가 여전히 객체이고 파일도 여전히 파일이 됩니다.JAVA에서는 전송을 위해 객체를 스트림으로 직렬화해야 합니다.
위 내용은 Java에서 직렬화하는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!