Maison  >  Article  >  Java  >  Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

王林
王林avant
2019-11-30 17:03:254301parcourir

Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

Nous avons étudié ObjectInputStream et ObjectOutputStream lorsque nous apprenions JavaSE. À cette époque, nous pensions que tant qu'un objet doit être écrit dans un fichier, il doit l'implémenter. l'interface sérialisable. En fait, il n’y a absolument aucun problème à comprendre les choses de cette façon.

1. Introduction au problème

Pourquoi devrions-nous implémenter l'interface de sérialisation en Java ? Regardons l'image ci-dessous :

Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

Dans le programme Java, une donnée est écrite sur le disque. Si cette donnée est une chaîne ordinaire, alors il n'y a pas de problème, tout. les machines peuvent Reconnaître une chaîne normalement, même si elle doit être convertie en octets correspondants, l'ordinateur sait aussi convertir la chaîne en octets correspondants (table de codes), mais s'il s'agit d'un objet Java, ce sera gênant . Le disque ne sait pas ce que vous avez transmis. Il s'agit d'un objet Java. En d'autres termes, le disque ne sait pas dans quel format convertir l'objet Java dans les octets correspondants.

Partage de didacticiels vidéo associés : apprentissage Java

Nous savons qu'un objet Java est essentiellement un bytecode de classe, et le disque ne sait pas comment écrire ce bytecode dans le disque, comment l'écrire, vous devez donc "l'identifier" et dire au disque : "Je suis un objet Java, vous voulez l'écrire sur le disque de cette façon", mais "l'écrire de cette façon" disque". Par conséquent, l'implémentation de l'interface Serialisable identifie simplement "Je suis un objet Java"

Si vous comprenez le texte ci-dessus, il ne sera pas difficile de comprendre l'image suivante :

Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

2. Approfondir la compréhension

Java fournit un mécanisme de sérialisation d'objets. Un objet peut être représenté par une séquence d'octets contenant des informations telles que les données de l'objet, le type de l'objet et les attributs stockés dans l'objet. Une fois la séquence d'octets écrite dans le fichier, cela équivaut à conserver les informations d'un objet dans le fichier.

À l'inverse, la séquence d'octets peut également être relue à partir du fichier, reconstruire l'objet et le désérialiser. Les données de l'objet, le type de l'objet et les informations de données stockées dans l'objet peuvent toutes être utilisées pour créer des objets en mémoire. Regardez des images pour comprendre la sérialisation :

Pourquoi devrions-nous implémenter une interface de sérialisation sérialisable en Java ?

Articles et tutoriels connexes recommandés : Programme d'entrée Java

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer