Heim  >  Artikel  >  Java  >  Was ist der Prozess der Java-Serialisierung und -Deserialisierung?

Was ist der Prozess der Java-Serialisierung und -Deserialisierung?

王林
王林Original
2024-04-15 18:06:011140Durchsuche

Java-Serialisierung und -Deserialisierung umfasst die folgenden Schritte: Schreiben einer Klasse, die die Serializable-Schnittstelle in einen Stream implementiert (Serialisierung). Liest (deserialisiert) das Objekt aus dem Stream.

Was ist der Prozess der Java-Serialisierung und -Deserialisierung?

Der Prozess der Java-Serialisierung und -Deserialisierung

Serialisierung

  1. Schreiben Sie eine Klasse, die die Schnittstelle Serializable implementiert. Serializable 接口的类。
  2. 创建一个 ObjectOutputStream 对象,并将其与一个文件或字节流关联。
  3. 使用 ObjectOutputStream.writeObject() 方法将对象写入流中。

示例代码:

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

public class Employee implements Serializable {
    private String name;
    private int age;

    // 省略getter和setter方法

    public static void main(String[] args) {
        Employee employee = new Employee("John", 30);
        
        try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("employee.txt"))) {
            out.writeObject(employee);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

反序列化

  1. 创建一个 ObjectInputStream 对象,并将其与一个文件或字节流关联。
  2. 使用 ObjectInputStream.readObject() 方法读取对象。

示例代码:

import java.io.FileInputStream;
import java.io.ObjectInputStream;

public class DeserializeEmployee {
    public static void main(String[] args) {
        try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("employee.txt"))) {
            Employee employee = (Employee) in.readObject();
            System.out.println(employee.getName() + ", " + employee.getAge());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意事项:

  • 只有实现了 Serializable
  • Erstellen Sie ein ObjectOutputStream-Objekt und verknüpfen Sie es mit einer Datei oder einem Bytestream.
  • Verwenden Sie die Methode ObjectOutputStream.writeObject(), um Objekte in den Stream zu schreiben.
  • Beispielcode:
rrreee🎜🎜Deserialisierung🎜🎜🎜🎜Erstellt ein ObjectInputStream-Objekt und verknüpft es mit einer Datei oder einem Bytestream. 🎜🎜Verwenden Sie die Methode ObjectInputStream.readObject(), um das Objekt zu lesen. 🎜🎜🎜Beispielcode: 🎜🎜rrreee🎜🎜Hinweise: 🎜🎜
    🎜Nur Klassen, die die Schnittstelle Serializable implementieren, können serialisiert werden. 🎜🎜Die Reihenfolge der Serialisierung und Deserialisierung muss konsistent sein. 🎜🎜Die Struktur einer Klasse kann sich zwischen Serialisierung und Deserialisierung nicht ändern. 🎜🎜Das Serialisieren von Objekten kann langsam sein, insbesondere bei großen Objekten. 🎜🎜

Das obige ist der detaillierte Inhalt vonWas ist der Prozess der Java-Serialisierung und -Deserialisierung?. 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