Données transientes en Java
Par Nicolas, vendredi 2 décembre 2005 à 11:32 :: geek stuff :: #226 :: rss
c'est vrai, transient ça veut dire quoi ?
En java, tout objet est sérialisable, c'est à dire transformable en flux d'octets, en vue d'enregistrement sur disque dur, ou de passage sur le réseau, s'il implémente l'interface java.io.serializable.
Dire qu'un objet est sérialisable ets équivalent à dire qu'il est transportable, que ce soit vers un disque dur, ou vers le réseau etc.
L'insertion du code implements java.io.Serializable
en tête de la classe suffit à rendre celle-ci sérialisable.
On en arrive à l'objet de cet article, la signification et l'utilisation éclairée du mot clé transient.
Lorsqu'on sérialise un objet, on peut souhaiter que certaines données sensibles, ou inutiles et lourdes (variables de calcul intermédiaires) ne soient pas prise en compte, (équivalent : ne persistent pas) on les déclare alors avec le mot clé transient :
transient String monMotDePasse;
transient Double monTableauDeVariablesIntermediairesInutiles;
Cette déclaration spéciale implique que ces données ne seront pas prises en compte dans le processus de sérialisation, et donc ne seront pas récupérable après un enregistrement sur disque ou un passage sur le réseau.
- Pour en savoir plus, JM Doudoux et la serialisation en Java, un exemple complet portant sur un bean sérialisable, que l'on fait persister sur le disque, puis que l'on recrée à partir du fichier de persistence.
- Un piège classique lors de l'utilisation de données transientes.
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.