Heim >häufiges Problem >Welche Funktion hat die serialisierbare Schnittstelle?

Welche Funktion hat die serialisierbare Schnittstelle?

coldplay.xixi
coldplay.xixiOriginal
2021-02-22 14:33:4230838Durchsuche

Die Funktionen der serialisierbaren Schnittstelle: 1. Speichern Sie das Objekt im Speichermedium, damit bei der nächsten Verwendung eine Kopie schnell wiederhergestellt werden kann. 2. Erleichtern Sie die Datenübertragung, insbesondere bei Remote-Aufrufen.

Welche Funktion hat die serialisierbare Schnittstelle?

Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer. Die Rolle der

serialisierbaren Schnittstelle:

Serialisierbare Schnittstelle ist eine Schnittstelle, die ihre Serialisierungsfunktion ermöglicht. Klassen, die die java.io.Serializable-Schnittstelle implementieren, sind serialisierbar. Bei Klassen, die diese Schnittstelle nicht implementieren, kann kein Status serialisiert oder deserialisiert werden.

Persönliches Verständnis:

Diese Einführung ist sehr unrealistisch, also habe ich ein paar Blogs gelesen und der Blog einer jungen Dame erregte meine Aufmerksamkeit:

Der Prozess der Serialisierung ist ein „Einfrieren“. Prozess, der ein Objekt einfriert und dann speichert. Wenn es wieder benötigt wird, kann das Objekt wieder entfrostet und sofort verwendet werden.

Wir dachten, es gäbe keine Serialisierung. Tatsächlich haben uns die spezifischen Datentypen bei der Deklaration verschiedener Variablen dabei geholfen, den Serialisierungsvorgang zu realisieren.

Wenn jemand den Quellcode der Serializable-Schnittstelle öffnet, wird er feststellen, dass es sich bei dieser Schnittstelle tatsächlich um eine leere Schnittstelle handelt. Wer hat diesen Serialisierungsvorgang implementiert? Wenn Sie sich die Anmerkungen der Schnittstelle ansehen, werden Sie tatsächlich wissen, dass wir der JVM tatsächlich mitteilen, dass diese Klasse serialisiert werden kann, wenn wir die Entitätsklasse die serialisierbare Schnittstelle implementieren lassen, und dass sie durch den Standard-Serialisierungsmechanismus serialisiert werden kann.

Die Rolle der Serialisierung:

*Serialisierung ist der Prozess der Konvertierung des Objektstatus in ein Format, das beibehalten oder übertragen werden kann. Das Gegenteil der Serialisierung ist die Deserialisierung, die einen Stream in ein Objekt umwandelt. Diese beiden Prozesse werden kombiniert, um Daten einfach zu speichern und zu übertragen.

1. Speichern Sie das Objekt im Speichermedium, damit bei der nächsten Verwendung eine Kopie schnell rekonstruiert werden kann. Das heißt, wenn die resultierende Bitreihe gemäß dem Serialisierungsformat erneut gelesen wird, kann sie verwendet werden, um einen semantisch identischen Klon des Originalobjekts zu erstellen.

Frage: Wenn ich keine Serialisierung umsetze, kann ich sie trotzdem speichern Warum muss es in meiner SQL Server- oder MySQL- oder Oracle-Datenbank serialisiert werden, bevor es gespeichert werden kann? ? ? ?

2. Erleichtert die Datenübertragung, insbesondere bei Remote-Aufrufen.

Die Implementierung der java.io.Serializable-Schnittstelle dient der Serialisierung, um die Kompatibilität zwischen verschiedenen Versionen der Serialisierungsklasse anzuzeigen. Wenn Sie diese Klasse ändern, ändern Sie auch diesen Wert.

Andernfalls treten beim Wiederherstellen von Klassen, die zuvor mit älteren Klassenversionen serialisiert wurden, Fehler auf.

Wenn Sie ein Tool verwenden, wird nach der Implementierung eine Warnung angezeigt, die Sie auffordert, automatisch eine private statische endgültige lange SerialVersionUID = 1L zu generieren. Um die Kompatibilität der Klassenversionen während der Deserialisierung sicherzustellen, ist dies am besten Fügen Sie der zu serialisierenden Klasse jeweils das private statische finale long serialVersionUID-Attribut hinzu und definieren Sie den spezifischen Wert selbst.

Erklärung von serialVersionUID

Die Rolle von serialVersionUID: Um die Versionskompatibilität während der Serialisierung aufrechtzuerhalten, ist die Deserialisierung erforderlich wird weiterhin ausgeführt, wenn die Version aktualisiert wird. Objekte bleiben eindeutig.

Sie können eines nach Belieben schreiben und es wird eines für Sie in Eclipse generieren. Es gibt zwei Möglichkeiten, es zu generieren: Eine ist die Standard-1L, wie zum Beispiel:

private static final long serialVersionUID = 1L;

Die andere wird basierend auf dem Klassennamen und der Schnittstelle generiert Name, Mitgliedsmethode und -attribut usw. Ein 64-Bit-Hash-Feld, wie zum Beispiel:

private static final long serialVersionUID = -8940196742313994740L;

Verwandte kostenlose Lernempfehlungen: Programmiervideo

Das obige ist der detaillierte Inhalt vonWelche Funktion hat die serialisierbare Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn