Sérialisation java

Résolu/Fermé
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 - Modifié par futur ingenieure le 28/05/2011 à 12:37
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 - 29 mai 2011 à 14:31
Salut,

je cherche une définition simple de la sérialisation des objet en java ainsi que son utilité ?

merci d'avance
A voir également:

6 réponses

Utilisateur anonyme
28 mai 2011 à 12:43
Salut, la sérialisation permet de stocker des objets pour les reprendre ensuite. L'avantage est évident : reprendre par exemple un traitement là où il s'était arrêté ou encore recharger des valeurs (configuration, etc).

Sur les sites comme Developpez.com, tu devrais trouver de nombreux exemples.
1
Utilisateur anonyme
28 mai 2011 à 12:54
Les objets qu'on sérialise sont en général ceux qui contiennent des données. Par exemple une classe qui gère des connexions aux bases de données etc, ne peut pas être sérialisée (normal). En revanche, une classe qu'on peut sérialiser serait par exemple le contenu du panier d'achat d'un client (elle contient des données).

Lorsque le client visite la page, on recharge l'objet à partir des données.

En fait, plutôt à toi de voir si la sérialisation peut te servir ou pas suivant ton cas. Ca dépend de l'application.
1
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
Modifié par bizu53 le 28/05/2011 à 12:45
Quand je me suis posé la même question que toi j'ai trouvé ce site https://ydisanto.developpez.com/tutoriels/java/serialisation-binaire/#LI que je trouve très bien fait.

Quant à son utilité il peut y en avoir plein... Personnellement je m'en sers souvent pour envoyer des objets entre client-serveur (réseau) ou pour sauvegarder (fichier) l'état d'un objet (par exemple Map, List, Set, ou tout autre..) pour le réutiliser lors d'une exécution future de mon programme.
0
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 1
Modifié par futur ingenieure le 28/05/2011 à 17:52
merci bien pour votre réponse

je réalise mainant un web service with soap (xml)
es-ce qu'il est avantagueux de sérialiser les objets de web service pour les faire passer au invocation des clients ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 1
28 mai 2011 à 12:50
merci ,votre réponse m'aide bien
0
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 1
28 mai 2011 à 17:59
Excellente explication

pour mon application , un client s'identifie puis il peut chercher une vidéo pour la voir ( en l'achetant) , il peut également consulter son profil où il y a ses informations personnel ...Qu'en pensez vous qu'elle est la partie à sérialiser?

grand merci
0
Utilisateur anonyme
28 mai 2011 à 19:50
Et bien suppose que tu as une classe "client" qui contient le nom, prénom, infos personnelles : on pourrait la sérialiser. Une classe vidéo peut contenir aussi des données et des méthodes concernant la vidéo : nom du fichier, infos du film. On peut aussi sérialiser ça.

Je pense que toute la difficulté est de travailler dans un modèle orienté objet. Il faut voir chaque partie comme un objet. Par exemple, tu veux afficher une recherche de vidéos, et bien il faut charger des objets de type vidéo et jouer avec leur propriétés etc.

En Java, as-tu déjà entendu parler de Hibernate? C'est un framework très puissant qui permet justement de sérialiser et gérer des données. On peut grâce à cela créer des bases données en relation directe avec les objets de ton application.

Quelques explications : https://fr.wikipedia.org/wiki/Hibernate

On utilise plutôt le terme "persistance" au lieu de sérialisation quand on parle d'Hibernate mais ça reste plus ou moins la même chose (charger des objets etc).
0
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 1
Modifié par futur ingenieure le 28/05/2011 à 21:15
Merci bien Rocky_123 vraiment une réponse très très claire et arguemntée
oui je sais un peu le framework Hibernate , mais je ne sais pas comment lier un projet Hibernate avec un autre type.
avez vous une idée?
merci infiniment pour ces réponses
0
Utilisateur anonyme
29 mai 2011 à 12:58
C'est sûr qu'Hibernate c'est pas aussi simple et ça demande quand même pas mal de compréhension, c'est surtout réservé aux projets plus gros avec bases de données etc. Si tu utilise une base de données, tu peux utiliser une méthode simple pour charger et décharger tes objets :

Tu fais deux méthodes dans ta classe : Load et Save. Ces méthodes s'occupent de charger les propriétés etc.

Quand tu crée ton objet, tu appelle la méthode Load qui va s'occuper d'exécuter une requête par exemple et récupérer tout le nécessaire. Ensuite tu as les propriétés etc, et quand tu veux, tu appelle Save pour sauvegarder. Tu peux aussi créer des méthodes Update, Delete...

Cette façon de travailler à l'avantage d'être assez simple à implémenter mais offre une bonne base pour faire la persistance des objets : dans ton application, tu ne t'occupe plus de savoir comment il va chercher ses valeurs, tu appelle juste :

video.Load();

Je pense que cette piste serait adaptée dans ton cas. Mais bon, comme je dis, un projet n'est pas un autre, à toi de peser le pour et le contre. On appelle ça l'analyse :-)
0
futur ingenieure Messages postés 133 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 2 juin 2012 1
29 mai 2011 à 14:31
c'est très clair ... merci pour tous ces informations.
0