Sto iniziando con la programmazione orientata agli oggetti (OOP) e vorrei sapere: qual è il significato della serializzazione nel linguaggio OOP?
Sto iniziando con la programmazione orientata agli oggetti (OOP) e vorrei sapere: qual è il significato della serializzazione nel linguaggio OOP?
Risposte:
La serializzazione è il processo di trasformazione di un oggetto in memoria in un flusso di byte in modo da poter eseguire operazioni come archiviarlo su disco o inviarlo in rete.
La deserializzazione è il processo inverso: trasformare un flusso di byte in un oggetto in memoria.
Marshal
e Unmarshal
sono sinonimi di Serialize
e Deserialize
.
abc
verrebbe serializzata come 0x61 0x62 0x63
(ASCII) o 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) - con o senza elementi come terminatori NUL o lunghezze codificate.
In parole semplici, la serializzazione è un processo di conversione di un oggetto in un flusso di byte in modo che possa essere trasferito su una rete o archiviato in un archivio permanente.
La deserializzazione è esattamente l'opposto: recupera un flusso di byte dalla memoria di rete o di persistenza e riconvertitelo nell'oggetto con lo stesso stato .
La cosa da capire è come questi flussi di byte vengono interpretati o manipolati in modo da ottenere esattamente lo stesso Oggetto / stesso stato. Ci sono vari modi per ottenerlo. Alcuni di loro sono -
Serializable interface
e scrivere su Object Stream.JSON
da zero, dato che non ne so nulla
Supponiamo che stia parlando con il mio amico al telefono e gli sto parlando del mio nuovo cucciolo.
Ecco il mio problema: il cucciolo è un mammifero vivente e che respira. Come intendo trasmettere un cucciolo sulla linea telefonica? Non riesco fisicamente a mettere il mio cucciolo nel mio ricevitore del telefono.
Quindi, invece, dovrò comunicare al telefono una rappresentazione del cucciolo. In altre parole, quindi serializzo il mio cane Rex e gli invio la versione serializzata di Rex tramite la 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.
La serializzazione in pratica significa trasformare il mio cane Rex in qualcos'altro - un oggetto JSON - che può quindi essere trasportato sulla linea telefonica come una serie di 1 e 0. Il mio amico a New York può quindi tradurre quegli 1 e 0 in un oggetto JSON - in modo che abbia una rappresentazione perfetta del mio cane Rex.
Dai un'occhiata, 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 oggetto binario in una rappresentazione XML (o altra stringa) in modo che possa essere archiviato in un database / file o inviato attraverso una rete in una chiamata del servizio web. La deserializzazione è il processo inverso: riconvertire un XML / stringa in un oggetto.
EDIT: Un altro termine che potresti incontrare è marshalling / unmarshalling. Il marshalling è fondamentalmente lo stesso concetto della serializzazione e il non marshalling è lo stesso della deserializzazione.
La serializzazione è il processo di conversione di un oggetto in un flusso di byte per archiviare l'oggetto o trasmetterlo alla memoria, a un database o a un file. Il suo scopo principale è quello di salvare lo stato di un oggetto per poterlo ricreare quando necessario. Il processo inverso si chiama deserializzazione.
...
Questa illustrazione mostra l'intero processo di serializzazione
...
Tramite la serializzazione, uno sviluppatore può eseguire azioni come l'invio dell'oggetto a un'applicazione remota tramite un servizio Web, il passaggio di un oggetto da un dominio a un altro, il passaggio di un oggetto attraverso un firewall come stringa XML o il mantenimento della sicurezza o specifici dell'utente informazioni tra le applicazioni
Da https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(enfatizzare il mio)
La serializzazione è il processo di conversione di dati non ordinati (come un oggetto) in una serie di token che possono essere utilizzati in seguito per ricostruire i dati originali. Il modulo serializzato è spesso una stringa di testo, ma non deve esserlo.
la serializzazione sta convertendo un oggetto in una sequenza di bit memorizzabile.
così puoi salvare questa sequenza in un file, db o inviare in rete.
in seguito è possibile deserializzarlo sull'oggetto reale e riutilizzarlo ogni volta che lo si desidera.
Web Services e AJAX sono l'esempio più comune di serializzazione. Gli oggetti serializzati prima di inviare la risposta al client.
la serializzazione non è altro che il trasferimento dell'oggetto supportato da java in un modulo supportato da file
(OR)
convertire il modulo supportato da java in un modulo supportato dalla rete ... lo scopo principale della serializzazione non è altro che trasferire i dati da un livello a un altro livello ... solo oggetti serializzati che possiamo inviare sulla rete ..
La serializzazione è il processo di conversione di un oggetto supportato da Java, C # o qualsiasi altro (linguaggio OOP) in una forma trasportabile. In questo modo può essere trasportato sulla rete o archiviato su un disco. Perché una classe sia serializzabile, deve implementare un'interfaccia serializzabile.
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 o all'archiviazione persistente indirizzata in modo unidimensionale.
La maggior parte delle cose che sono "dati" sono intrinsecamente serializzabili (anche se è necessario ridurre il modello astratto a uno lineare); non serializzabili sono dire 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 oggetto binario in una rappresentazione XML (o altra stringa) in modo che possa essere archiviato in un database / file o inviato attraverso una rete in una chiamata di servizio web. La deserializzazione è il processo inverso: riconvertire un XML / stringa in un oggetto.
Quando si crea un'istanza (costruzione) dell'oggetto reale (l'oggetto) da una classe (progetto) è necessario salvare l'oggetto (oggetto) serializzandolo (suddividendolo nella sua struttura atomica di base) in uno spazio in memoria. (Un po 'come Star Treks Transporter). Si suddivide la cosa in un flusso di informazioni che possono essere trasportate da qualche parte e archiviate. Quindi, quando si desidera ricostruire la cosa, è sufficiente riportare l'istanza memorizzata atomicamente nell'oggetto. Diverso dall'installazione.
La serializzazione è il processo di conversione di un oggetto in un flusso di dati binario in modo che possa essere archiviato in un file o inviato attraverso una rete dove può essere riportato nuovamente allo stesso oggetto.
Questo documento dovrebbe aiutarti a comprendere in dettaglio la serializzazione Java.
La serializzazione è quando l'oggetto (un pezzo di memoria) tradotto in una forma in cui lo stato dell'oggetto può essere salvato nel file (come esempio).
Basta trattarlo come fare i biscotti - l'oggetto è un impasto, il biscotto - è un impasto serializzato.
Quindi, "serializzando" puoi inviare cookie al tuo amico.
Qualcosa del genere :-)