Estou começando com a Programação Orientada a Objetos (OOP) e gostaria de saber: qual é o significado da serialização na linguagem OOP?
java
oop
serialization
marshalling
Comunidade
fonte
fonte
Respostas:
Serialização é o processo de transformar um objeto na memória em um fluxo de bytes, para que você possa armazenar coisas em disco ou enviá-lo pela rede.
A desserialização é o processo inverso: transformar um fluxo de bytes em um objeto na memória.
fonte
Marshal
eUnmarshal
são sinônimos deSerialize
eDeserialize
.abc
seria serializada como0x61 0x62 0x63
(ASCII) ou0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) - com ou sem itens como terminadores NUL ou comprimentos codificados.Simplesmente falando, a serialização é um processo de conversão de um objeto em um fluxo de bytes, para que possa ser transferido por uma rede ou armazenado em um armazenamento persistente.
A desserialização é exatamente o oposto - busque um fluxo de bytes do armazenamento em rede ou persistência e converta-o novamente no objeto com o mesmo estado .
O que se deve entender é como esses fluxos de bytes são interpretados ou manipulados para que obtenhamos exatamente o mesmo objeto / mesmo estado. Existem várias maneiras de conseguir isso. Alguns deles são -
Serializable interface
e gravado no Object Stream.fonte
JSON
a partir do zero, como eu não sei nada sobre issoExplicação simples via imagem:
Explicação por Analogia:
Suponha que eu esteja conversando com meu amigo por telefone e contando a ele sobre meu novo filhote.
Aqui está o meu problema: o filhote é um mamífero vivo que respira. Como pretendo transmitir um filhote pela linha telefônica? Não posso fisicamente colocar meu filhote no receptor do telefone.
Então, em vez disso, terei que transmitir uma representação do filhote por telefone. Em outras palavras, serializo meu cão Rex e envio a ele a versão serializada do Rex pela linha telefônica:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
É uma representação perfeita - uma serialização do meu cachorro.
Resumo:
Serialização significa basicamente transformar meu cão Rex em outra coisa - um objeto JSON - que pode ser transportado pela linha telefônica como uma série de 1s e 0s. Meu amigo em Nova York pode converter esses 1s e 0s de volta em um objeto JSON - para que ele tenha uma representação perfeita do meu cachorro Rex.
fonte
Confira, isso lhe dará uma boa explicação:
http://en.wikipedia.org/wiki/Serialization
Eu acho que o uso mais comum do termo serialização tem a ver com a conversão de um objeto binário em uma representação XML (ou outra string) para que ele possa ser armazenado em um banco de dados / arquivo ou enviado através de uma rede em uma chamada de serviço web. Desserialização é o processo inverso - convertendo um XML / string novamente em um objeto.
EDIT: Outro termo que você pode encontrar é marshalling / unmarshalling. Marshalling é basicamente o mesmo conceito que serializar, e desserializar é o mesmo que desserializar.
fonte
Em https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(ênfase minha)
fonte
Serialização é o processo de conversão de dados não ordenados (como um objeto) em uma série de tokens que podem ser usados posteriormente para reconstruir os dados originais. O formulário serializado é geralmente uma sequência de texto, mas não precisa ser.
fonte
a serialização está convertendo um objeto em sequência de bits armazenável.
para que você possa salvar esta sequência em um arquivo, banco de dados ou enviar pela rede.
depois, você pode desserializar para o objeto real e reutilizá-lo sempre que quiser.
Serviços da Web e AJAX é o exemplo mais comum de serialização. Os objetos serializados antes de enviar a resposta ao cliente.
fonte
serialização nada mais é do que transferir o objeto suportado java para o formulário suportado por arquivo
convertendo o formulário suportado em java para o formulário suportado em rede ... o escopo principal da serialização não passa de transferir os dados de uma camada para a outra camada ... apenas objetos serializados que podemos enviar pela rede ..
fonte
Serialização é o processo de conversão de um objeto suportado Java, C # ou qualquer outro (linguagens OOP) em um formulário transportável. Dessa forma, ele é transportado pela rede ou armazenado em um disco. Para que uma classe seja serializável, ela deve implementar a interface serializável.
fonte
A serialização está transformando dados em uma "sequência" linear de bytes.
Outros disseram mais ou menos a mesma coisa, mas enfatizo que os modelos de computador exigem que os dados se encaixem na RAM endereçada unidimensionalmente ou no armazenamento persistente.
A maioria das coisas que são "dados" são inerentemente serializáveis (mesmo se você precisar reduzir o modelo abstrato para um linear); não serializáveis, digamos, uma conexão de rede ou uma máquina complicada baseada em estado, como um analisador.
fonte
a serialização tem a ver com a conversão de um objeto binário em uma representação XML (ou outra string), para que possa ser armazenado em um banco de dados / arquivo ou enviado através da rede em uma chamada de serviço da web. Desserialização é o processo inverso - convertendo um XML / string novamente em um objeto.
fonte
Ao instanciar (construir) o objeto real (a coisa) de uma classe (blueprint), é necessário salvar o objeto (coisa) serializando-o (decompondo-o em sua estrutura atômica básica) em um espaço na memória. (Mais ou menos como o Star Treks Transporter). Você divide o fluxo de informações que podem ser transportadas para algum lugar e armazenadas. Então, quando você quiser reconstruir a coisa, basta puxar a instância armazenada atomicamente de volta para o objeto. Diferente da instaniação.
fonte
Serialização é o processo de conversão de um objeto em um fluxo de dados binários, para que ele possa ser armazenado em um arquivo ou enviado através de uma rede, onde pode ser ressuscitado de volta ao mesmo objeto.
Este documento deve ajudá-lo a entender a serialização Java em detalhes.
fonte
Serialização é quando o objeto (um pedaço de memória) é convertido em uma forma em que o estado do objeto pode ser salvo no arquivo (como exemplo).
Apenas trate-o como fazer biscoitos - objeto é uma massa, biscoito - é uma massa serializada.
Então, ao "serializar" você pode enviar um cookie ao seu amigo.
Algo parecido :-)
fonte