Ich beginne mit der objektorientierten Programmierung (OOP) und möchte wissen: Was bedeutet Serialisierung im OOP-Sprachgebrauch?
Ich beginne mit der objektorientierten Programmierung (OOP) und möchte wissen: Was bedeutet Serialisierung im OOP-Sprachgebrauch?
Antworten:
Bei der Serialisierung wird ein Objekt im Speicher in einen Bytestrom umgewandelt, sodass Sie es beispielsweise auf der Festplatte speichern oder über das Netzwerk senden können.
Deserialisierung ist der umgekehrte Prozess: Ein Bytestrom wird in ein Objekt im Speicher umgewandelt.
Marshal
und Unmarshal
sind synonym mit Serialize
und Deserialize
.
abc
als 0x61 0x62 0x63
(ASCII) oder 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) serialisiert - mit oder ohne NUL-Terminatoren oder codierten Längen.
Einfach ausgedrückt ist Serialisierung ein Prozess zum Konvertieren eines Objekts in einen Bytestrom, sodass es über ein Netzwerk übertragen oder in einem dauerhaften Speicher gespeichert werden kann.
Die Deserialisierung ist genau das Gegenteil: Rufen Sie einen Bytestrom aus dem Netzwerk- oder Persistenzspeicher ab und konvertieren Sie ihn mit demselben Status zurück in das Objekt .
Es ist zu verstehen, wie diese Byteströme interpretiert oder manipuliert werden, damit wir genau das gleiche Objekt / den gleichen Zustand erhalten. Es gibt verschiedene Möglichkeiten, dies zu erreichen. Einige von ihnen sind -
Serializable interface
und in Object Stream schreiben.JSON
von Grund auf etwas lernen kann , da ich nichts darüber weiß
Angenommen, ich spreche mit meinem Kumpel am Telefon und erzähle ihm von meinem neuen Welpen.
Hier ist mein Problem: Der Welpe ist ein lebendes, atmendes Säugetier. Wie soll ich einen Welpen über die Telefonleitung befördern? Ich kann meinen Welpen nicht physisch in meinen Telefonhörer stecken.
Also muss ich stattdessen eine Darstellung des Welpen am Telefon übermitteln. Mit anderen Worten, ich serialisiere dann meinen Hund Rex und sende ihm die serialisierte Version von Rex über die Telefonleitung:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
Es ist eine perfekte Darstellung - eine Serialisierung meines Hundes.
Serialisierung bedeutet im Grunde, meinen Hund Rex in etwas anderes zu verwandeln - ein JSON-Objekt - das dann als eine Reihe von Einsen und Nullen über die Telefonleitung transportiert werden kann. Mein Kumpel in NYC kann diese Einsen und Nullen dann wieder in ein JSON-Objekt übersetzen - so dass er eine perfekte Darstellung meines Hundes Rex hat.
Schauen Sie sich das an, dies gibt Ihnen eine gute Erklärung:
http://en.wikipedia.org/wiki/Serialization
Ich denke, die häufigste Verwendung des Begriffs Serialisierung hat mit der Konvertierung eines binären Objekts in eine XML-Darstellung (oder eine andere Zeichenfolge) zu tun, damit es in einer Datenbank / Datei gespeichert oder in einem Webdienstaufruf über ein Netzwerk gesendet werden kann. Die Deserialisierung ist der umgekehrte Prozess - das Zurückkonvertieren eines XML / Strings in ein Objekt.
EDIT: Ein anderer Begriff, auf den Sie möglicherweise stoßen, ist Marshalling / Unmarshalling. Marshalling ist im Grunde das gleiche Konzept wie Serialisierung, und Unmarshalling ist dasselbe wie Deserialisierung.
Bei der Serialisierung wird ein Objekt in einen Bytestrom konvertiert, um das Objekt zu speichern oder in den Speicher, eine Datenbank oder eine Datei zu übertragen. Der Hauptzweck besteht darin, den Status eines Objekts zu speichern, um es bei Bedarf neu erstellen zu können. Der umgekehrte Prozess wird Deserialisierung genannt.
...
Diese Abbildung zeigt den gesamten Serialisierungsprozess
...
Durch die Serialisierung kann ein Entwickler Aktionen ausführen, z. B. das Senden des Objekts an eine Remoteanwendung mithilfe eines Webdienstes, das Übergeben eines Objekts von einer Domäne an eine andere, das Übergeben eines Objekts durch eine Firewall als XML-Zeichenfolge oder das Aufrechterhalten der Sicherheit oder benutzerspezifisch Informationen über Anwendungen hinweg
Von https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(Hervorhebung von mir)
Bei der Serialisierung werden ungeordnete Daten (z. B. ein Objekt) in eine Reihe von Token konvertiert , die später zur Rekonstruktion der Originaldaten verwendet werden können. Das serialisierte Formular ist meistens eine Textzeichenfolge, muss es aber nicht sein.
Die Serialisierung konvertiert ein Objekt in eine speicherbare Bitfolge.
Sie können diese Sequenz also in einer Datei, einer Datenbank oder über das Netzwerk senden.
Später können Sie es auf das eigentliche Objekt deserialisieren und es jederzeit wiederverwenden.
Web Services und AJAX sind das häufigste Beispiel für Serialisierung. Die Objekte werden serialisiert, bevor die Antwort an den Client gesendet wird.
Die Serialisierung ist nichts anderes als das Übertragen des von Java unterstützten Objekts in ein von Dateien unterstütztes Formular
(OR)
Konvertieren von Java-unterstütztem Formular in netzwerkgestütztes Formular. Der Hauptbereich der Serialisierung besteht darin, die Daten von einer Schicht auf eine andere Schicht zu übertragen. Nur serialisierte Objekte können über das Netzwerk gesendet werden.
Bei der Serialisierung wird ein von Java, C # oder einem anderen (OOP-Sprachen) unterstützten Objekt in ein transportables Formular konvertiert. Auf diese Weise kann es über das Netzwerk transportiert oder auf einer Festplatte gespeichert werden. Damit eine Klasse serialisierbar ist, muss sie eine serialisierbare Schnittstelle implementieren.
Durch die Serialisierung werden Daten in eine lineare "Zeichenfolge" von Bytes umgewandelt.
Andere haben mehr oder weniger dasselbe gesagt, aber ich betone, dass Computermodelle erfordern, dass Daten in den eindimensional adressierten RAM oder den persistenten Speicher passen.
Die meisten Dinge, die "Daten" sind, sind von Natur aus serialisierbar (selbst wenn Sie das abstrakte Modell auf ein lineares reduzieren müssen). Nicht serialisierbar sind beispielsweise eine Netzwerkverbindung oder eine komplizierte zustandsbasierte Maschine wie ein Parser.
Die Serialisierung hat mit der Konvertierung eines Binärobjekts in eine XML-Darstellung (oder eine andere Zeichenfolge) zu tun, damit es in einer Datenbank / Datei gespeichert oder in einem Webdienstaufruf über ein Netzwerk gesendet werden kann. Die Deserialisierung ist der umgekehrte Prozess - das Zurückkonvertieren eines XML / Strings in ein Objekt.
Wenn das eigentliche Objekt (das Ding) aus einer Klasse (Blaupause) instanziiert (konstruiert) wird, muss das Objekt (Ding) durch Serialisierung (Zerlegung in seine atomare Grundstruktur) in einem Speicherbereich gespeichert werden. (Ein bisschen wie Star Treks Transporter). Sie zerlegen das Ding in einen Informationsstrom, der irgendwohin transportiert und gespeichert werden kann. Wenn Sie dann das Objekt rekonstruieren möchten, ziehen Sie einfach die atomar gespeicherte Instanz zurück in das Objekt. Anders als Instaniation.
Bei der Serialisierung wird ein Objekt in einen binären Datenstrom konvertiert, sodass es in einer Datei gespeichert oder über ein Netzwerk gesendet werden kann, wo es wieder auf dasselbe Objekt zurückgesetzt werden kann.
Dieses Dokument soll Ihnen helfen, die Java-Serialisierung im Detail zu verstehen.
Serialisierung ist, wenn ein Objekt (ein Teil des Speichers) in eine Form übersetzt wird, in der der Objektstatus in einer Datei gespeichert werden kann (als Beispiel).
Behandeln Sie es einfach als Kekse - Objekt ist ein Teig, Keks - ist ein serialisierter Teig.
Durch "Serialisieren" können Sie also Cookies an Ihren Freund senden.
Sowas in der Art :-)