J'ai lu un certain nombre d'articles sur la sérialisation et la façon dont elle est si agréable et géniale, mais aucun des arguments n'était assez convaincant. Je me demande si quelqu'un peut vraiment me dire ce que nous pouvons vraiment réaliser en sérialisant une classe ?
Réponses
Trop de publicités?Pendant que vous exécutez votre application, tous ses objets sont stockés en mémoire (RAM). Lorsque vous quittez, cette mémoire est récupérée par le système d'exploitation, et votre programme essentiellement 'oublie' tout ce qui s'est passé pendant qu'il était en cours d'exécution. La sérialisation remédie à cela en permettant à votre application d'enregistrer des objets sur le disque afin qu'elle puisse les relire la prochaine fois qu'elle démarre. Si votre application va fournir un moyen de sauvegarder/partager un état précédent, vous aurez besoin d'une certaine forme de sérialisation.
Le plus évident est que vous pouvez transmettre la classe sérialisée sur un réseau, et le destinataire peut construire un duplicata de l'instantstance d'origine. De même, vous pouvez enregistrer une structure sérialisée dans un système de fichiers.
Notez également que la sérialisation est récursive, de sorte que vous pouvez sérialiser une structure de données hétérogène entière en un seul morceau, si vous le souhaitez.