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

Welche Funktion hat die serialisierbare Schnittstelle?

Feb 22, 2021 pm 02:33 PM

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)