0comments

객체 직렬화 예제

이를 위해 우리는 두 개의 클래스를 사용했다. 개체를 직렬화하기 위해 ObjectOutputStream을 사용했습니다. writeObject 메서드를 사용하여 파일에 개체를 작성했습니다. 예를 들어 java.awt.Button 클래스는 Serializable 인터페이스를 구현하므로 java.awt.Button 개체를 직렬화하고 해당 직렬화된 상태를 파일에 저장할 수 있습니다. 나중에 직렬화된 상태를 다시 읽고 java.awt.Button 개체로 직렬화할 수 있습니다. 동일한 컴퓨터의 서로 다른 프로세스또는 네트워크를 통해 연결된 여러 컴퓨터에서서로 개체의 상태를 서로 다른 주소 공간에 분산하지만 데이터를 공유하고 메서드를 호출하여 함께 작동합니다. 주로 네트워크에서 개체의 상태를 이동하는 데 사용됩니다(마샬링이라고 함). 직렬화는 Java 개체의 그래프를 저장소(디스크 파일) 또는 전송(네트워크를 통해)을 위한 바이트 배열로 변환한 다음 직렬화를 사용하여 개체 그래프를 복원할 수 있습니다. 개체 그래프는 참조 공유 메커니즘을 사용하여 올바르게 복원됩니다. 그러나 저장하기 전에 입력 파일 / 네트워크에서 serialVersionUID 및 .class 파일 serialVersionUID가 동일한지 확인하십시오. 그렇지 않은 경우 java.io.InvalidClassException을 throw합니다.

Java는 개체의 데이터와 개체에 저장된 데이터 유형에 대한 정보뿐만 아니라 개체의 데이터를 포함하는 바이트 시퀀스로 개체를 나타낼 수 있는 개체 직렬화라는 메커니즘을 제공합니다. YAML은 JSON과 유사하며 직렬화, “인간 친화적”, 잠재적으로 더 컴팩트한 기능을 제공합니다. 이러한 기능에는 데이터 형식 에 태그를 지정하는 개념, 비계층적 데이터 구조에 대한 지원, 들여쓰기를 사용하여 데이터를 구조화하는 옵션 및 여러 형태의 스칼라 데이터 인용이 포함됩니다. 직렬화는 Java 개체를 바이트 배열로 변환한 다음 보존된 상태로 다시 개체로 변환하는 프로세스입니다. 네트워크를 통해 개체를 보내거나 디스크로 캐싱하는 등 다양한 일에 유용합니다. 이 파일은 직렬화에 사용할 Java 클래스를 정의합니다. 이 클래스는 일부 속성 및 getter/setter 메서드를 운반하는 간단한 Java 콩을 나타냅니다. 기본적으로 모든 속성은 직렬화됩니다. 그러나 이 동작을 변경할 수 있습니다. 어떻게 체크 아웃하자? 다음 코드 예제에서는 이 개체를 직렬화하고 직렬화할 수 있는 방법을 보여 주며, 이 개체를 직렬화할 수 있는 방법을 보여 주시고 있습니다.

Comments are closed.