1. Implémenter la sérialisation :
1) Utilisez l'interface Serialisable pour implémenter la sérialisation
Nous définissons d'abord une classe d'objets Utilisateur
public class User implements Serializable { //序列化ID private static final long serialVersionUID = 1L; private int age; private String name; //getter和setter方法、 //toString方法}
Ensuite, implémentez la sérialisation et la désérialisation dans la classe Test.
public class Test { public static void main(String[] args) throws Exception, IOException { //SerializeUser(); DeSerializeUser(); } //序列化方法 private static void SerializeUser() throws FileNotFoundException, IOException { User user = new User(); user.setName("Java的架构师技术栈"); user.setAge(24); //序列化对象到文件中 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("G://Test/template")); oos.writeObject(user); oos.close(); System.out.println("序列化对象成功"); } //反序列化方法 private static void DeSerializeUser() throws FileNotFoundException, IOException{ File file = new File("G://Test/template"); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); User newUser = (User)ois.readObject(); System.out.println("反序列化对象成功"+newUser.toString()); }}
2) Utilisez l'interface externalisable pour implémenter la sérialisation
Tout d'abord, définissez une classe User1
public class User1 implements Externalizable{ private int age; private String name; //getter、setter //toString方法 public User1() {} @Override public void writeExternal(ObjectOutput out) throws IOException { } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { }}
La différence entre les interfaces externalisables et sérialisables :
1) Externalisable hérite de l'interface Serialisable
2) Nous devons réécrire les méthodes writeExternal() et readExternal()
3) La classe qui implémente l'interface Externalisable doit fournir un constructeur public de paramètre Aucun.
2. Fonction :
1) La sérialisation est un mécanisme utilisé pour traiter les flux d'objets. Le soi-disant flux d'objets consiste à diffuser le contenu de l'objet, et l'objet diffusé peut être To. effectuer des opérations de lecture et d'écriture, vous pouvez également transférer des objets diffusés vers et depuis le réseau
2) Afin de résoudre les problèmes qui peuvent survenir lors des opérations de lecture et d'écriture du flux d'objets (si la sérialisation n'est pas effectuée, les données peuvent exister Problème dans le désordre)
3) En plus d'obtenir la persistance des objets, la sérialisation peut également être utilisée pour le clonage profond d'objets
3) Scénarios d'utilisation de la sérialisation
1) Enregistrez définitivement l'objet et enregistrez la séquence d'octets de l'objet dans un fichier local ou une base de données
2) Transmettez et recevez l'objet sous forme de flux d'octets via la sérialisation ; >3) Transférer des objets entre les processus via la sérialisation ;
Pour plus de connaissances sur Java, veuillez faire attention à la colonne
Tutoriel de base JavaCe 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!