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.
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 Schnittstellejava.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();
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!