Java ist eine objektorientierte Programmiersprache, die auf der Java Virtual Machine (JVM) ausgeführt wird. Eine der wichtigsten Funktionen von Java ist die Möglichkeit, Objekte zu serialisieren und zu deserialisieren. Durch Serialisierung können Java-Objekte in ein Format umgewandelt werden, das in einem Dateisystem oder Netzwerkstream gespeichert werden kann. In diesem Artikel werden wir untersuchen, wie man ein Objekt in Java serialisiert.

Was ist Serialisierung?

Serialisierung ist der Prozess der Umwandlung eines Java-Objekts in ein Format, das in einem Dateisystem oder in einem Netzwerkstream gespeichert werden kann. In der Regel wird das Serialisierungsformat als Binärdatei gespeichert. Durch den Serialisierungsprozess werden alle Informationen, die für die Wiederverwendung eines Objekts erforderlich sind, in eine binäre Repräsentation umgewandelt.

Serialisierung ermöglicht die Übertragung von Objekten über Netzwerkverbindungen und ermöglicht auch die persistente Speicherung von Objekten auf Festplatte oder anderen permanenten Speichermedien. Deserialisierung ist der umgekehrte Prozess, durch den ein serialisiertes Objekt in seine ursprüngliche Form zurückkonvertiert wird.

Welche Objekte können serialisiert werden?

Nur die Objekte, die das Serializable-Interface implementieren, können serialisiert werden. Dieses Interface markiert das zugrunde liegende Objekt als serialisierbar und gibt implizite Anweisungen, wie das Objekt serialisiert werden sollte. Das Serializable-Interface enthält jedoch keine Methoden, sodass es von jedem Objekt implementiert werden kann, ohne dass dafür codebezogene Änderungen erforderlich sind.

Wie man ein Objekt in Java serialisiert

Das Serialisieren eines Java-Objekts ist einfach und erfordert nur wenige Zeilen Code. Das folgende Beispiel zeigt, wie ein einfaches Objekt serialisiert werden kann:

„`
public class Person implements java.io.Serializable {
public String firstName;
public String lastName;
public int age;

public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public void setAge(int age) {
this.age = age;
}
}
„`

In diesem Beispiel ist das Serializable-Interface in der Person-Klasse implementiert. Daher kann ein Objekt der Klasse Person serialisiert werden.

Die Serialisierung kann wie folgt durchgeführt werden:

„`
import java.io.*;

public class SerializeDemo {

public static void main(String [] args) {
Person person = new Person();
person.setFirstName(„John“);
person.setLastName(„Doe“);
person.setAge(25);

try {
FileOutputStream fileOut =
new FileOutputStream(„/tmp/person.ser“);
ObjectOutputStream out =
new ObjectOutputStream(fileOut);
out.writeObject(person);
out.close();
fileOut.close();
System.out.printf(„Serialized data is saved in /tmp/person.ser“);
} catch(IOException i) {
i.printStackTrace();
}
}
}
„`

In diesem Beispiel wird ein Objekt der Klasse Person erstellt und mit Werten initialisiert. Anschließend wird das Objekt in die Datei „/tmp/person.ser“ serialisiert. Die FileOutputStream- und ObjectOutputStream-Klassen werden verwendet, um das serialisierte Objekt in die Datei zu schreiben.

Zusammenfassung

Serialisierung ist ein wichtiger Teil der Java-Programmierung, da sie die Übertragung von Objekten über Netzwerkverbindungen ermöglicht und die persistente Speicherung von Objekten auf Festplatte oder anderen permanenten Speichermedien erlaubt. Das Serializable-Interface ist erforderlich, um Objekte serialisierbar zu machen. Der Serialisierungsprozess ist einfach und erfordert nur wenige Zeilen Code. Durch das Serialisieren von Objekten in Java können Programmierer komplexe Datenstrukturen speichern und wiederherstellen, die von ihren Anwendungen verwendet werden.

Quest'articolo è stato scritto a titolo esclusivamente informativo e di divulgazione. Per esso non è possibile garantire che sia esente da errori o inesattezze, per cui l’amministratore di questo Sito non assume alcuna responsabilità come indicato nelle note legali pubblicate in Termini e Condizioni
Quanto è stato utile questo articolo?
0
Vota per primo questo articolo!