Cos’è la serializzazione?

Sto iniziando con la programmazione OOP e vorrei sapere qual è il significato della serializzazione nel linguaggio OOP?

La serializzazione è il processo di trasformare un object in memoria in un stream di byte in modo da poter fare cose come salvarlo su disco o inviarlo via rete.

La deserializzazione è il processo inverso: trasformare un stream di byte in un object in memoria.

La serializzazione è un processo di conversione di un object nello stream di byte in modo che possa essere transferred over a network or stored in a persistent storage .

La deserializzazione è l’esatto contrario: recupera un stream di byte dalla memoria di rete o di persistenza e lo converte all’Oggetto con lo stesso stato .

L’unica cosa da capire ora è come questi flussi di byte sono interpretati o manipolati in modo da ottenere lo stesso identico object / stesso stato. Ci sono vari modi per riuscirci. Alcuni di loro sono –

  1. XML : Converti object in XML, trasferirlo su una rete o memorizzarlo in un file / db. Recuperalo e convertilo nuovamente nell’object con lo stesso stato. In Java viene utilizzata la libreria JAXB (architettura Java per il binding XML). (Da java 6 viene fornito in bundle con JDK).
  2. JSON : Lo stesso può essere fatto convertendo l’object in JSON (notazione object Javascript). Di nuovo c’è una libreria GSON che può essere usata per questo.
  3. Oppure possiamo usare la serializzazione fornita dal linguaggio OOP stesso. Per es. in Java è ansible serializzare un object my facendolo implementare Serializable interface e scrivere su Object Stream.

Controlla questo, questo ti darà una buona spiegazione:

http://en.wikipedia.org/wiki/Serialization

Penso che l’uso più comune del termine serializzazione abbia a che fare con la conversione di un object binario in una rappresentazione XML (o altra stringa) in modo che possa essere memorizzata in un database / file o inviata attraverso una rete in una chiamata di servizio web. La deserializzazione è il processo inverso: la conversione di un XML / stringa in un object.

EDIT: Un altro termine che potresti incontrare è marshalling / unmarshalling. Il marshalling è fondamentalmente lo stesso concetto di serializzazione e l’unmarshalling è lo stesso della deserializzazione.

Spiegazione tramite immagine:

Rex, il mio cane, è serializzato!

Spiegazione per analogia:

Supponiamo che sto parlando con il mio amico al telefono e gli sto dicendo del mio nuovo cucciolo.

Ecco il mio problema: il cucciolo è un mammifero vivente e che respira. Come intendo trasportare un cucciolo al telefono? Non riesco a mettere fisicamente il mio cucciolo nel mio ricevitore.

Quindi, invece, dovrò trasmettere una rappresentazione del cucciolo al telefono. In altre parole, serializzo il mio cane Rex e gli mando la versione serializzata di Rex sulla linea telefonica:

{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }

È una rappresentazione perfetta – una serializzazione del mio cane.

Spiegazione tecnica

La serializzazione significa fondamentalmente trasformare il mio cane Rex in qualcos’altro – un object JSON – che può quindi essere trasportato sulla linea telefonica come una serie di 1 e 0. Il mio amico di New York può quindi tradurre questi 1 e 0 in un object JSON, in modo da avere una rappresentazione perfetta del mio cane Rex. Semplice!

La serializzazione è il processo di conversione di dati non ordinati (come un object) in una serie di token che possono essere utilizzati successivamente per ribuild i dati originali. La forma serializzata è molto spesso una stringa di testo, ma non deve esserlo.

la serializzazione è la conversione di un object in sequenza di bit memorizzabile.

in modo da poter salvare questa sequenza in un file, db o inviare su rete.

più tardi puoi deserializzare l’object reale e riutilizzarlo quando vuoi.

I servizi Web e AJAX sono l’esempio più comune di serializzazione. Gli oggetti sono serializzati prima di inviare la risposta al client.

la serializzazione non è altro che il trasferimento dell’object java supportato al modulo supportato da file

  (OR) 

convertire il modulo supportato da java in formato supportato dalla rete … lo scopo principale della serializzazione non è altro che trasferire i dati da un livello all’altro … solo oggetti serializzati che possiamo inviare tramite la rete ..

La serializzazione è il processo di conversione di un object in un stream di byte per archiviare l’object o trasmetterlo alla memoria, a un database oa un file. Il suo scopo principale è quello di salvare lo stato di un object per poterlo ricreare quando necessario.
Il processo inverso è chiamato deserializzazione.

Questo diagramma mostra il processo generale di serializzazione.

Questo diagramma mostra il processo generale di serializzazione.

Tramite la serializzazione, uno sviluppatore può eseguire azioni come inviare l’object a un’applicazione remota tramite un servizio Web, passare un object da un dominio a un altro, passare un object attraverso un firewall come stringa JSON / XML o mantenere la sicurezza o l’utente – informazioni specifiche tra le applicazioni.

Per maggiori informazioni controlla questo .

La serializzazione avviene quando l’object (un blocco di memoria) viene tradotto in un modulo quando lo stato dell’object può essere salvato nel file (ad esempio).

Trattalo come un biscotto – l’object è un impasto, un biscotto – è un impasto serializzato.

Quindi “serializzando” puoi inviare cookie al tuo amico.

Qualcosa del genere 🙂

La serializzazione sta trasformando i dati in una “stringa” lineare di byte.

Altri hanno detto più o meno la stessa cosa, ma sottolineo che i modelli di computer richiedono che i dati si adattino alla RAM con risoluzione unidimensionale o all’archiviazione persistente.

La maggior parte delle cose che sono “dati” sono intrinsecamente serializzabili (anche se è necessario ridurre il modello astratto a quello lineare); non serializzabile si dice una connessione di rete o una complicata macchina basata sullo stato come un parser.

la serializzazione ha a che fare con la conversione di un object binario in una rappresentazione XML (o altra stringa) in modo che possa essere memorizzata in un database / file o inviata attraverso una rete in una chiamata al servizio web. La deserializzazione è il processo inverso: la conversione di un XML / stringa in un object.

Quando istanziate (costruendo) l’object reale (la cosa) da una class (progetto) vi è la necessità di salvare l’object (cosa) serializzandolo (scomporlo nella sua struttura atomica di base) in uno spazio nella memoria. (Un po ‘come Star Treks Transporter). Rompi la cosa in un stream di informazioni che possono essere trasportate da qualche parte e archiviate. Quindi, quando si desidera ribuild la cosa, basta trascinare nuovamente l’istanza memorizzata atomicamente nell’object. Diverso da instaniation.

La serializzazione è il processo di conversione di un object in un stream di dati binario in modo che possa essere memorizzato in un file o inviato attraverso una rete in cui possa essere resuscitato allo stesso object.

Questo documento dovrebbe aiutarti a comprendere la serializzazione Java in dettaglio.

La serializzazione è il processo di conversione di un object supportato Java, C # o qualsiasi altro (linguaggio OOP) in una forma trasportabile. In questo modo può essere trasportato sulla rete o archiviato su un disco. Affinché una class sia serializzabile, deve implementare un’interfaccia serializzabile.