Ich beginne mit der objektorientierten Programmierung (OOP) und möchte wissen: Was bedeutet Serialisierung im OOP-Sprachgebrauch?
java
oop
serialization
marshalling
Gemeinschaft
quelle
quelle
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.
quelle
Marshal
undUnmarshal
sind synonym mitSerialize
undDeserialize
.abc
als0x61 0x62 0x63
(ASCII) oder0x00 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.quelle
JSON
von Grund auf etwas lernen kann , da ich nichts darüber weißEinfache Erklärung über Bild:
Erklärung durch Analogie:
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.
Zusammenfassung:
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.
quelle
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.
quelle
Von https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(Hervorhebung von mir)
quelle
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.
quelle
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.
quelle
Die Serialisierung ist nichts anderes als das Übertragen des von Java unterstützten Objekts in ein von Dateien unterstütztes Formular
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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 :-)
quelle