Je débute avec la programmation orientée objet (POO) et j'aimerais savoir: quelle est la signification de la sérialisation dans le langage POO?
java
oop
serialization
marshalling
Communauté
la source
la source
Réponses:
La sérialisation est le processus de transformation d'un objet en mémoire en un flux d'octets afin que vous puissiez faire des choses comme le stocker sur le disque ou l'envoyer sur le réseau.
La désérialisation est le processus inverse: transformer un flux d'octets en un objet en mémoire.
la source
Marshal
etUnmarshal
sont synonymes deSerialize
etDeserialize
.abc
serait sérialisée comme0x61 0x62 0x63
(ASCII) ou0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) - avec ou sans des éléments tels que des terminateurs NUL ou des longueurs codées.En termes simples, la sérialisation est un processus de conversion d'un objet en flux d'octets afin qu'il puisse être transféré sur un réseau ou stocké dans un stockage persistant.
La désérialisation est exactement le contraire - Récupérez un flux d'octets à partir du stockage réseau ou de persistance et reconvertissez-le en objet avec le même état .
La chose à comprendre est comment ces flux d'octets sont interprétés ou manipulés pour que nous obtenions exactement le même objet / même état. Il existe différentes manières d'y parvenir. Certains d'entre eux sont -
Serializable interface
et en l'écrivant dans Object Stream.la source
JSON
partir de zéro, car je n'en sais rienExplication simple via l'image:
Explication par analogie:
Supposons que je parle à mon copain au téléphone et que je lui parle de mon nouveau chiot.
Voici mon problème: le chiot est un mammifère vivant et respirant. Comment suis-je censé transporter un chiot sur la ligne téléphonique? Je ne peux pas physiquement mettre mon chiot dans mon récepteur téléphonique.
Donc à la place, je vais devoir transmettre une représentation du chiot au téléphone. En d'autres termes, je sérialise ensuite mon chien Rex, et je lui envoie la version sérialisée de Rex par téléphone:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
C'est une représentation parfaite - une sérialisation de mon chien.
Résumé:
La sérialisation signifie essentiellement transformer mon chien Rex en quelque chose d'autre - un objet JSON - qui peut ensuite être transporté sur la ligne téléphonique sous forme d'une série de 1 et de 0. Mon copain à New York peut ensuite traduire ces 1 et 0 en un objet JSON - afin qu'il ait une représentation parfaite de mon chien Rex.
la source
Vérifiez ceci, cela vous donnera une bonne explication:
http://en.wikipedia.org/wiki/Serialization
Je pense que l'utilisation la plus courante du terme sérialisation a à voir avec la conversion d'un objet binaire en une représentation XML (ou autre chaîne) afin qu'il puisse être stocké dans une base de données / fichier ou envoyé sur un réseau lors d'un appel de service Web. La désérialisation est le processus inverse - la conversion d'un XML / chaîne en un objet.
EDIT: Un autre terme que vous pourriez rencontrer est marshalling / unmarshalling. Le marshalling est fondamentalement le même concept que la sérialisation, et unmarshalling est le même que la désérialisation.
la source
De https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(c'est moi qui souligne)
la source
La sérialisation est le processus de conversion de données non ordonnées (comme un objet) en une série de jetons qui peuvent être utilisés plus tard pour reconstruire les données d'origine. Le formulaire sérialisé est le plus souvent une chaîne de texte, mais ce n'est pas obligatoire.
la source
la sérialisation consiste à convertir un objet en séquence de bits stockable.
afin que vous puissiez enregistrer cette séquence dans un fichier, une base de données ou l'envoyer sur le réseau.
plus tard, vous pouvez le désérialiser en objet réel et le réutiliser quand vous le souhaitez.
Les services Web et AJAX sont l'exemple le plus courant de sérialisation. Les objets sérialisés avant d'envoyer la réponse au client.
la source
la sérialisation n'est rien d'autre que le transfert de l'objet pris en charge par java vers un formulaire pris en charge par un fichier
la conversion du formulaire pris en charge par java en un formulaire pris en charge par le réseau ... la portée principale de la sérialisation n'est rien d'autre que le transfert des données d'une couche à une autre couche ... seuls les objets sérialisés que nous pouvons envoyer sur le réseau.
la source
La sérialisation est le processus de conversion d'un objet pris en charge par Java, C # ou tout autre (langages OOP) en une forme transportable. De cette façon, il sera transporté sur le réseau ou stocké sur un disque. Pour qu'une classe soit sérialisable, elle doit implémenter une interface sérialisable.
la source
La sérialisation transforme les données en une "chaîne" linéaire d'octets.
D'autres ont dit plus ou moins la même chose, mais je souligne que les modèles informatiques exigent que les données tiennent dans la RAM à adressage unidimensionnel ou le stockage persistant.
La plupart des éléments qui sont des "données" sont sérialisables par nature (même si vous devez réduire le modèle abstrait à un modèle linéaire); ne sont pas sérialisables, disons une connexion réseau ou une machine basée sur des états compliquée comme un analyseur syntaxique.
la source
la sérialisation concerne la conversion d'un objet binaire en une représentation XML (ou autre chaîne) afin qu'il puisse être stocké dans une base de données / fichier ou envoyé sur un réseau lors d'un appel de service Web. La désérialisation est le processus inverse - la conversion d'un XML / chaîne en un objet.
la source
Lors de l'instanciation (construction) de l'objet réel (la chose) à partir d'une classe (plan), il est nécessaire de sauvegarder l'objet (chose) en le sérialisant (en le décomposant en sa structure atomique de base) dans un espace en mémoire. (Un peu comme Star Treks Transporter). Vous divisez la chose en un flux d'informations qui peuvent être transportées quelque part et stockées. Ensuite, lorsque vous souhaitez reconstruire la chose, il vous suffit de retirer l'instance stockée de manière atomique dans l'objet. Différent de l'instaniation.
la source
La sérialisation est le processus de conversion d'un objet en flux de données binaires afin qu'il puisse être stocké dans un fichier ou envoyé sur un réseau où il peut être ressuscité vers le même objet.
Ce document devrait vous aider à comprendre la sérialisation Java en détail.
la source
La sérialisation est lorsque l'objet (un morceau de mémoire) traduit sous une forme lorsque l'état de l'objet peut être enregistré dans un fichier (à titre d'exemple).
Il suffit de le traiter comme de la fabrication de cookies - l'objet est une pâte, le cookie - est une pâte sérialisée.
Ainsi, en "sérialisant", vous pouvez envoyer un cookie à votre ami.
Quelque chose comme ca :-)
la source