Java-Serialisierung ist der Prozess der Konvertierung von Java-Objekten in Byte-Streams. Wenn Java-Objekte über das Netzwerk übertragen oder in Dateien gespeichert werden müssen, müssen Java-Objekte serialisiert werden.
Serialisierungsimplementierung: Die Klasse implementiert die Serializable-Schnittstelle. Diese Schnittstelle verfügt über keine Methoden, die implementiert werden müssen . Durch die Implementierung der Serializable-Schnittstelle wird dem JVM mitgeteilt, dass Objekte dieser Klasse serialisiert werden können. (Empfohlenes Lernen: Java-Kurs )
Hinweis:
Eine Klasse kann serialisiert werden, und ihre Unterklassen können auch als Mitgliedsvariablen deklariert werden als statisch und transient von
kann nicht serialisiert werden. Statische Mitgliedsvariablen sind Attribute, die die Klassenebene beschreiben, und transient stellt temporäre Daten dar
Die Reihenfolge der Deserialisierung und des Lesens serialisierter Objekte muss konsistent sein
Spezifische Verwendung
package constxiong.interview; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * 测试序列化,反序列化 * @author ConstXiong * @date 2019-06-17 09:31:22 */ public class TestSerializable implements Serializable { private static final long serialVersionUID = 5887391604554532906L; private int id; private String name; public TestSerializable(int id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "TestSerializable [id=" + id + ", name=" + name + "]"; } @SuppressWarnings("resource") public static void main(String[] args) throws IOException, ClassNotFoundException { //序列化 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("TestSerializable.obj")); oos.writeObject("测试序列化"); oos.writeObject(618); TestSerializable test = new TestSerializable(1, "ConstXiong"); oos.writeObject(test); //反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("TestSerializable.obj")); System.out.println((String)ois.readObject()); System.out.println((Integer)ois.readObject()); System.out.println((TestSerializable)ois.readObject()); } }
Ergebnisse drucken:
测试序列化 618 TestSerializable [id=1, name=ConstXiong]
Das obige ist der detaillierte Inhalt vonWas ist Java-Serialisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!