112 votes

Quel est le but de la sérialisation en Java ?

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 ?

67voto

Gordon Gustafson Points 14778

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.

2voto

ddyer Points 1546

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X