>Java >java지도 시간 >Java에서 직렬화하는 이유

Java에서 직렬화하는 이유

(*-*)浩
(*-*)浩원래의
2019-12-26 13:17:543056검색

Java에서 직렬화하는 이유

직렬화는 객체 스트림을 처리하는 데 사용되는 메커니즘입니다. +                                                   (권장 학습: java 강좌 )

소위 객체 흐름: 객체의 내용을 스트리밍하는 것입니다. 스트리밍된 객체는 읽고 쓸 수 있으며, 스트리밍된 객체는 네트워크 간에 전송될 수도 있습니다.

직렬화는 객체 스트림을 읽고 쓸 때 발생하는 문제를 해결하는 것입니다.

직렬화 구현:

직렬화해야 하는 클래스는 직렬화 가능 인터페이스(마커 인터페이스)를 구현합니다. 이 인터페이스에는 구현해야 할 메서드가 없습니다. 직렬화 가능은 개체를 직렬화할 수 있다는 것을 표시하기 위한 것입니다. , 그런 다음 출력 스트림(예: FileOutputStream)을 사용하여 ObjectOutputStream(객체 스트림) 객체를 생성합니다.

그런 다음 ObjectOutputStream 객체의 writeObject(Object obj) 메서드를 사용하여 obj 매개변수로 객체를 작성합니다. , 상태 저장), 복원하려면 입력 스트림을 사용하십시오.

직렬화는 언제 사용하나요?

1: 객체 직렬화는 분산 객체를 실현할 수 있습니다.

다음과 같은 주요 애플리케이션: RMI(Remote Method Invocation)는 로컬 시스템에서 개체를 실행할 때와 마찬가지로 개체 직렬화를 사용하여 원격 호스트에서 서비스를 실행합니다.

둘: Java 객체 직렬화는 객체의 데이터를 유지할 뿐만 아니라 객체가 참조하는 각 객체의 데이터를 재귀적으로 저장합니다.

전체 개체 계층 구조는 바이트 스트림에 기록될 수 있으며, 이는 파일에 저장되거나 네트워크 연결을 통해 전달될 수 있습니다. 개체 직렬화를 사용하면 개체의 "전체 복사", 즉 개체 자체와 참조된 개체 자체를 복사할 수 있습니다. 개체를 직렬화하면 전체 개체 시퀀스가 ​​생성될 수 있습니다.

3: 직렬화는 메모리의 클래스를 파일이나 데이터베이스에 쓸 수 있습니다.

예: 클래스를 직렬화하고 파일로 저장하면 다음에 읽을 때 원래 클래스를 메모리에 복원하기 위해 파일의 데이터를 역직렬화하기만 하면 됩니다.

클래스는 전송을 위해 스트림 데이터로 직렬화될 수도 있습니다. 일반적으로 인스턴스화된 클래스를 저장용 파일로 변환하는 것입니다. 다음에 인스턴스화해야 할 경우 클래스를 메모리로 인스턴스화하고 직렬화 중에 클래스의 모든 변수와 상태를 유지하기 위해 역직렬화하기만 하면 됩니다.

넷째: 개체, 파일 및 데이터는 다양한 형식으로 제공되므로 균일하게 전송하고 저장하기 어렵습니다.

직렬화 후에는 원래 무엇이든 동일한 것으로 변환할 수 있으며, 원하는 경우 전송이 완료된 후 공통 형식으로 전송하거나 저장할 수 있습니다. 다시 사용하려면 역직렬화하면 객체가 여전히 객체이고 파일도 여전히 파일이 됩니다.

JAVA에서는 전송을 위해 객체를 스트림으로 직렬화해야 합니다.

위 내용은 Java에서 직렬화하는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.