Was ist ein "serialisiert" - Objekt in der Programmierung?
Gesehen hab ich den Begriff "serialisiert" im ganzen, aber nie erklärt. Bitte erklären, was das bedeutet.
- Wenn jemand könnte geben Sie ein ausführliches Beispiel, es wäre toll. Wenn ich nach diesem Thema, ich bin auch verwirrt. Die Beispiele erstrecken sich so weit wie
pickle.dump(object, file)
undpickle.load(file)
(mit Python, zum Beispiel), die ehrlich ist völlig nutzlos, zu helfen, zu verstehen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Serialisierung bezieht sich gewöhnlich auf den Prozess der Umwandlung einer abstrakten Datentyp einen stream von bytes (die Sie manchmal zu serialisieren, um text -, XML-oder CSV-Format oder andere Formate auch. Das wichtigste ist, dass es ist ein einfaches format, kann gelesen/geschrieben werden, ohne das Verständnis der abstrakten Objekte, die die Daten repräsentiert). Beim speichern von Daten in einer Datei oder übertragung über ein Netzwerk, können Sie nicht nur speichern
MyClass
Objekt, du bist nur in der Lage, zum speichern von bytes. So müssen Sie nehmen alle notwendigen Daten zu rekonstruieren, Ihr Objekt und drehen Sie diese in eine Sequenz von bytes, die geschrieben werden können, um das Ziel-Gerät und zu einem späteren Zeitpunkt wieder eingelesen und deserialisiert, die Rekonstruktion Ihres Objekts.Car
Klasse ist ein abstrakter Datentyp. Es ist etwas abstraktes in das Programm. Es gibt keine Autos in der it. Nur Daten, die die Abstraktion einer. Und dass Abstraktion eingerissen werden muss, um es zu serialisieren. Sie können nicht speichern Sie ein Auto, um eine Datei, aber Sie können speichern die notwendigen Daten zur Rekonstruktion derCar
Instanz der Klasse.Serialisierung ist der Prozess der übernahme eine Objekt-Instanz und deren Umwandlung in ein format, in dem Sie transportiert werden können, über ein Netzwerk oder persistenten Speicher (z.B. einer Datei oder Datenbank). Das serialisierte format enthält den Zustand des Objekts Informationen.
Deserialisierung ist der Prozess, mit dem serialisierten Zustand zu rekonstruieren, das Objekt aus der serialisierten Zustand in seinen ursprünglichen Zustand.
real simple Erklärung, Serialisierung ist der Akt der Aufnahme etwas, das im Gedächtnis wie eine Instanz einer Klasse (Objekt) und die Umwandlung in eine geeignete Struktur für transport oder Lagerung.
Ein gängiges Beispiel ist die XML-Serialisierung für die Verwendung in web services - ich habe eine Instanz einer Klasse auf dem server und brauchen, um es zu senden, über das web auf Sie, ich zum ersten serialisieren in xml, was bedeutet, dass zum erstellen eine xml-version der Daten in der Klasse, einmal in der xml kann ich mit einem transport wie HTTP einfach senden.
Gibt es mehrere Formen der Serialisierung wie XML oder JSON.
Gibt es (mindestens) zwei völlig verschiedene Bedeutungen zu, die Serialisierung. Man dreht eine Datenstruktur im Speicher, in einem Strom von bits, so kann es auf die Festplatte geschrieben werden und rekonstituiert später übertragen oder über eine Netzwerkverbindung auf einem anderen Rechner, etc.
Die andere Bedeutung bezieht sich auf die serielle vs. parallele Ausführung, D. H. die Gewährleistung, dass nur ein thread der Ausführung wird etwas zu einer Zeit. Zum Beispiel, wenn Sie gehen, um Lesen, schreiben und verändern eine variable, die Sie benötigen, um sicherzustellen, dass ein thread vollständig Lesen, ändern, schreiben Sequenz, bevor eine andere gestartet werden kann.
Was Sie sagte. Das Wort "Seriell" bezieht sich auf die Tatsache, dass die Daten-bytes muss einige standardisierte Reihenfolge geschrieben werden, in eine serielle Speichervorrichtung, wie ein Datei-Ausgabe-stream oder serial bus. In der Praxis werden die raw-bytes nur selten ausreichen. Zum Beispiel, eine memory-Adresse durch das Programm, das serialisiert die Daten-Struktur, die möglicherweise ungültig sind, in dem Programm, das rekonstruiert das Objekt aus der gespeicherten Daten. So ein Protokoll ist erforderlich. Es gibt viele, viele standards und Implementierungen im Laufe der Jahre. Ich erinnere mich an eine aus der Mitte der 80er Jahre genannt XDR, aber es war nicht der erste.
Der Schlüssel ist, dass Sie brauchen, um den transport von Daten und die Mittel, mit denen Sie Verkehr erlaubt nur bestimmte Formate. Ihre aktuellen Daten-format nicht zulässig ist, so müssen Sie "serialisieren" es. Folglich, während Mitch antwortete: