Skip to main content

직렬화 란 무엇입니까?

Computer Computer Programming에서 직렬화는 로컬 메모리에 저장된 데이터 구조를 취하고이를 네트워크를 통해 전송하거나 디스크에 저장하여 다른 프로그램에 의해 재 조립되고 사용할 수있는 바이트 스트림으로 전환하는 프로세스입니다.. 직렬화를 사용하여 객체의 상태를 저장하여 나중에 동일한 프로그램에 의해 다시로드 될 수 있습니다.이 기능의 더 복잡한 사용은 원격 프로 시저 호출 (RPC)을 호출하는 것입니다.네트워크를 통해 다른 컴퓨터에서 절차를 효과적으로 실행합니다.이 메커니즘은 대규모 네트워크 시스템을 통해 데이터 객체를 배포 할 수 있습니다.이 기능을 추가 할 수있는 라이브러리. 객체가 직렬화되면 객체의 모든 필드가 평평 해집니다.이 프로세스는 디 플레이팅 또는 마샬링이라고도합니다. 데이터는모든 출력 스트림에 기록 될 수있는 1 차원 바이트 행.출력 스트림의 유형은 중요하지 않으며 파일 또는 네트워크 소켓 일 수 있습니다.

일단 데이터가 직렬화되어 최종 위치로 전송되면 사막화 프로세스가 시작됩니다.바이트 스트림은 모든 정보를 복원하고 원래 객체의 새 인스턴스로 배치하여 정확한 사본을 만듭니다. 개체가 보유하고있는 데이터만이 마샬링되었음을 이해하는 것이 중요합니다.객체 및 그 방법 및 기타 구현 데이터는 아닙니다. 이는 데이터를 필수화하는 프로그램이 원래 직렬화 된 클래스의 인스턴스를 생성 할 수 있어야 함을 의미합니다.

데이터 구조 직렬화를 사용할 수 있습니다.객체 정보는 물리적 매체에 저장 될 수 있으므로 모든 객체의 정확한 상태를 프로그램 실행 중단 시점까지 복원 할 수 있습니다. 다른 컴퓨터로 메시지를 보내는 데 사용될 수 있습니다.원격 절차가 실행됩니다. 직렬화를 사용하여 실시간 응용 프로그램의 상태 변경을 효율적으로 비교할 수도 있습니다.중요한 것은 객체를 바이트 스트림으로 변환하는 과정을 통해 개인으로 선언 된 필드가 노출 될 것입니다. 스트림 전송 중에이 데이터는 캡처 및 디코딩되어보안 구멍. 대부분의 언어연령은 데이터 직렬화 형식의 외부화를 허용하므로 독점 인코딩 이이 위험을 완화하는 데 도움이 될 수 있습니다.직렬화 된 객체와 정확히 동일합니다. 새 필드 또는 메소드가 객체에 추가되면 객체의 서명이 변경됩니다. 이것은 저장된 개체가 의지 함을 의미합니다.원래의 수정되지 않은 객체의 인스턴스가 복원하려고 시도 할 때까지 예외가 발생하면 데이터를 복구 할 수 없습니다.