Quel est le sens de la sérialisation concept dans les langages de programmation?
Quel est le sens de la sérialisation concept dans les langages de programmation?
lorsque nous utilisons Serializable
attribut au-dessus d'une classe, qu'est-ce que le sens?
Vous devez vous connecter pour publier un commentaire.
Dire que vous avez deux applications qui s'exécutent sur des machines physiques. Les deux applications ont besoin d'échanger des données, qui est couramment utilisé par les deux applications. Ces applications de parler les uns aux autres pour partager les données avec certains médiums, de ces moyens de communication pourrait être un système de fichiers, le protocole tcp ou udp connexions ou tout autre protocole de réseau ou peut être directe en mémoire l'échange de données. L'un de ces médiums serait seulement de comprendre les données qui est décrit sous la forme d'une série de bits. Donc, lorsqu'une application en a besoin pour envoyer une valeur de 10 à un autre, la valeur 10 est envoyé comme sa représentation binaire 1010 et vous serait également transmettre des informations qui décrit 1010. Cette méta-informations seront également d'une série de bits que l'autre application peut facilement comprendre. C'était facile, cependant.
Prenons un autre exemple, où ces deux applications ont besoin d'échanger de plus en plus complexe, non primitive de type de données. Disons qu'ils ont besoin d'échanger les objets de type Livre où le Livre est une coutume classe définie dans votre application et à la fois les applications ont la définition de type Livre.
Comment allez-vous échanger les objets de type livre entre les deux applications? Pour être en mesure de partager l'objet entre les deux applications, vous devrez être en mesure de convertir le Livre des objets en représentation binaire. C'est là que la sérialisation entre dans l'image.
Avec l'aide de la Sérialisation, vous pouvez définir la façon dont un objet peut être converti en sa représentation binaire. La réception de la demande permettrait de faire le processus inverse, c'est-De-la Sérialisation, qui construit un Livre-objet à partir de sa représentation binaire.
Il n'y a pas de meilleure explication que celle de wikipédia.
http://en.wikipedia.org/wiki/Serialization
Aussi, le Serializable Attribut ne peut pas être utilisé sur les méthodes.
Indiqué par l'Attribut de l'Utilisation
Sérialisation est le processus de conversion d'un objet dans un
flux d'octets. La désérialisation est le processus inverse de
la création d'un objet à partir d'un flux d'octets.
De sérialisation/Désérialisation est principalement utilisé pour le transport de
les objets (par exemple, lors de l'accès distant), ou pour conserver les objets (par ex.
pour un fichier ou une base de données).La sérialisation peut être définie comme l'
processus de stockage de l'état d'un objet à un stockage
moyen. Au cours de ce processus, les champs publiques et privées
de l'objet et le nom de la classe, y compris le
assembly contenant la classe, sont convertis à un flux de
octets, qui est ensuite écrit dans un flux de données. Lorsque l'
l'objet est ensuite désérialisé, un clone exact de l'
objet d'origine est créé.
plus à ce sujet : http://www.allinterview.com/showanswers/20627.html
La sérialisation est le processus dans lequel les données de la traduction de la structure de données ou de l'état de l'objet dans un format qui peut être stockée
Pourquoi avons-nous besoin d'une sérialisation?
Dans la langue de la procédure, tels que Cobol ou C il n'y a pas de concept de sérialisation. Pourquoi avons-nous l'utiliser dans la programmation orientée objet? Laissez-nous prendre en Java. Vous avez une classe qui est l'instanciation de plusieurs classes d'Objets, et que vous souhaitez passer un de ces objets de l'état (valeurs actuelles des variables) sur le réseau par le biais de Message Oriented Middleware sous la forme de flux d'octets, et vous avez besoin de la sérialisation et la désérialisation.
Si plusieurs langues sont d'accord sur ce format de flux d'octets, la sérialisation peut même fournir un moyen pour les systèmes incompatibles pour l'échange de données.