A, B 및 C 유형의 객체가 있다고 가정 해 봅시다. 각각 A, B 및 C의 모든 인스턴스를 포함하는 3 개의지도가 있습니다. 내부적으로 A와 B는 모두 C의지도를 가지고 있습니다. 언제든지 응용 프로그램의 상태를 저장하고 복원 할 수 있기를 원합니다.Java에서 관련 객체의 직렬화
오늘까지 필자는 항상 필자에게 피라미드 형 응용 프로그램을 직렬화하여 최상위 개체에서 serialize를 호출하고 호출을 다른 모든 항목에 전파했습니다. 이 상황을 어떻게 처리합니까? A map에서 serialize를 호출 한 다음 B map에서 serialize를 호출하면 C 인스턴스가 두 번 저장되지 않습니까? 그럴 경우에도 A deserialize 후에 B map을 deserialize 할 때 C 인스턴스를 덮어 쓰는 것처럼 비 직렬화가 응용 프로그램 상태를 유지합니까? 사전에
감사합니다.
내가 다음을 수행해야하는 방법, 동일의 OutputStream에 모두 A와 B의지도를 쓰기? 서로 다른 스트림 (내 경우에는 파일)에 하나씩 쓴 다음 동일한 (또는 다른) 순서로 복원하면 어떻게됩니까? – bluehallu
하나의 단일 개체에 넣고 해당 개체를 직렬화하십시오. 아마도 가장 간단한 방법 일 것입니다. –