Maison >Java >JavaBase >Qu'est-ce que la sérialisation Java

Qu'est-ce que la sérialisation Java

(*-*)浩
(*-*)浩original
2019-11-09 11:46:392638parcourir

La sérialisation Java est le processus de conversion d'objets Java en flux d'octets. Lorsque des objets Java doivent être transmis sur le réseau ou stockés de manière persistante dans des fichiers, les objets Java doivent être sérialisés.

Qu'est-ce que la sérialisation Java

Implémentation de la sérialisation : la classe implémente l'interface Serialisable. Cette interface n'a aucune méthode à implémenter. . Implémenter l'interface Serialisable consiste à indiquer à la machine virtuelle Java que les objets de cette classe peuvent être sérialisés. (Apprentissage recommandé : cours java )

Remarque :

Une classe peut être sérialisée, et ses sous-classes peuvent également être sérialisées. comme statique et transitoire par

ne peut pas être sérialisé. Les variables membres statiques sont des attributs qui décrivent le niveau de classe et les transitoires représentent des données temporaires

L'ordre de désérialisation et de lecture des objets sérialisés doit être cohérent

Utilisation spécifique

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());
	}
 
}

Imprimer les résultats :

测试序列化
618
TestSerializable [id=1, name=ConstXiong]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn