O que é a serialização?
In computer programming, serialization is the process of taking a data structure stored in local memory and turning it into a stream of bytes that can be transmitted over a network or stored on a disk to be reassembled and used by another program. Serialization also can be used to save the state of an object so it can be reloaded later by the same program. A more complex use of this function is to invoke a remote procedure call (RPC), effectively running a procedure Em outro computador através de uma rede. Esse mecanismo também permite a distribuição de objetos de dados em um grande sistema em rede.Stream. O tipo de fluxo de saída não importa e pode ser um arquivo ou um soquete de rede.
Depois que os dados foram serializados e enviados para sua localização final, o processo de deserialização começa. O programa que lê o fluxo de bytes restaura todas as informações e a coloca em uma nova instância do objeto original, criando uma cópia exata. É importante entender que apenas os dados que o objeto estava mantendo é organizado; O objeto e seus métodos e outros dados de implementação não são. Isso significa que o programa que desapealiza os dados deve ser capaz de criar uma instância da classe que foi originalmente serializada.
A serialização da estrutura de dados pode ser usada para uma variedade de propósitos. As informações do objeto podem ser armazenadas na mídia física, para que o estado exato de todos os objetos possa ser restaurado a ponto de estar na execução do programa.Mensagens ND para outro computador que fará com que um procedimento remoto seja executado. A serialização pode até ser usada para comparar com eficiência as mudanças no estado em aplicativos em tempo real.
Antes de usar a serialização do objeto, é importante entender algumas das limitações que ela impõe. O mais importante é que, através do processo de conversão de um objeto em um fluxo de bytes, os campos declarados como privados serão expostos. Durante a transmissão do fluxo, esses dados podem ser capturados e decodificados, apresentando um orifício de segurança. risco.
Outro fator a ter em mente é que a serialização funcionará, em geral, apenas com objetos exatamente iguais ao objeto serializado. Se novos campos ou métodos forem adicionados a um objeto, então a assinatura do objeto mudará. Isso significa que o objeto armazenado causaráe uma exceção e os dados se tornarão irrecuperáveis até que uma instância do objeto não modificado original tente restaurá -los.