Heim >Java >javaLernprogramm >Welche Arten der Java-Serialisierung und -Deserialisierung gibt es?

Welche Arten der Java-Serialisierung und -Deserialisierung gibt es?

WBOY
WBOYOriginal
2024-04-15 12:39:021076Durchsuche

Die Java-Serialisierung bietet die folgenden Arten der Serialisierung: 1. Grundlegende Datentyp-Serialisierung; 2. Objekt-Serialisierung, die erfordert, dass die Klasse die java.io.Serializable-Schnittstelle implementiert; 3. Externalisierung und Deserialisierung, was erfordert, dass das Objekt Java implementiert. io .Externalisierbare Schnittstelle. Im tatsächlichen Kampf können Objektinformationen direkt gespeichert und gelesen werden.

Welche Arten der Java-Serialisierung und -Deserialisierung gibt es?

Arten der Java-Serialisierung

Java-Serialisierung ist ein Prozess, bei dem der Zustand eines Objekts in einem dauerhaften Speicher gespeichert oder über ein Netzwerk übertragen wird. Java bietet die folgenden Serialisierungstypen:

1. Grundlegende Datentyp-Serialisierung

Grundlegende Datentypen (z. B. int, long, double) können direkt serialisiert werden.

// 基本数据类型序列化
int num = 100;
OutputStream out = new FileOutputStream("num.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(num);
oos.close();

2. Objektserialisierung

Um Objekte zu serialisieren, müssen Klassen die Schnittstelle java.io.Serializable implementieren. java.io.Serializable 接口。

// 对象序列化
class Person implements Serializable {
    private String name;
    private int age;

    // ...
}

Person person = new Person();
OutputStream out = new FileOutputStream("person.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(person);
oos.close();

3. 外部化和反序列化

外部化允许自定义序列化和反序列化的过程。对象需要实现 java.io.Externalizable

// 外部化
public void writeExternal(ObjectOutput out) {
    out.writeObject(name);
    out.writeInt(age);
}

// 反序列化
public void readExternal(ObjectInput in) {
    this.name = (String) in.readObject();
    this.age = in.readInt();
}

3. Externalisierung und Deserialisierung

Externalisierung ermöglicht die Anpassung des Serialisierungs- und Deserialisierungsprozesses. Objekte müssen die Schnittstelle java.io.Externalizable implementieren.

// 存储用户信息
UserInfo user = new UserInfo();
OutputStream out = new FileOutputStream("user.ser");
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(user);
oos.close();

// 读取用户信息
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.ser"));
UserInfo user2 = (UserInfo) ois.readObject();
ois.close();
Praktischer Koffer

🎜🎜🎜Fall: Benutzerinformationen speichern und auslesen🎜🎜rrreee

Das obige ist der detaillierte Inhalt vonWelche Arten der Java-Serialisierung und -Deserialisierung gibt es?. 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