Maison > Problème commun > Quelle est la fonction de l'interface sérialisable

Quelle est la fonction de l'interface sérialisable

coldplay.xixi
Libérer: 2023-01-13 00:32:58
original
30843 Les gens l'ont consulté

Les fonctions de l'interface sérialisable : 1. Stocker l'objet dans le support de stockage afin qu'une copie puisse être rapidement reconstituée lors de sa prochaine utilisation ; 2. Faciliter la transmission des données, notamment lors des appels à distance ;

Quelle est la fonction de l'interface sérialisable

L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3.

Le rôle de l'interface sérialisable :

L'interface sérialisable est l'interface qui active sa fonction de sérialisation. Les classes qui implémentent l'interface java.io.Serializing sont sérialisables. Les classes qui n’implémentent pas cette interface ne pourront voir aucun de leurs états sérialisé ou désérialisé.

Compréhension personnelle :

Cette introduction est très irréaliste, alors je suis allé lire quelques blogs, et le blog d'une jeune femme a attiré mon attention :

Le processus de sérialisation est un processus de « gel ». Il gèle un objet puis le stocke lorsqu'il est à nouveau nécessaire, l'objet peut être immédiatement dégelé.

Nous pensions qu'il n'y avait pas de sérialisation. En fait, lors de la déclaration de différentes variables, les types de données spécifiques nous ont aidés à réaliser l'opération de sérialisation.

Si quelqu'un ouvre le code source de l'interface Serialisable, il constatera que cette interface est en fait une interface vide. Alors, qui a implémenté cette opération de sérialisation ? En fait, si vous regardez les annotations de l'interface, vous saurez que lorsque nous laissons la classe d'entité implémenter l'interface Serialisable, nous disons en fait à la JVM que cette classe peut être sérialisée et peut être sérialisée par le mécanisme de sérialisation par défaut.

Le rôle de la sérialisation :

* La sérialisation est le processus de conversion de l'état d'un objet en un format qui peut être conservé ou transmis. Le contraire de la sérialisation est la désérialisation, qui convertit un flux en objet. Ces deux processus se combinent pour stocker et transférer facilement des données.

1. Stockez l'objet dans le support de stockage afin qu'une copie puisse être rapidement reconstituée lors de sa prochaine utilisation. C'est-à-dire que lorsque la série de bits résultante est relue selon le format de sérialisation, elle peut être utilisée pour créer un clone sémantiquement identique de l'objet d'origine.

Question : Lorsque je n'ai pas implémenté la sérialisation, Je peux également le stocker dans ma base de données SQLserver ou MySQL ou Oracle. Pourquoi doit-il être sérialisé avant de pouvoir être stocké ? ? ? ?

2, pour faciliter la transmission des données, notamment lors des appels à distance

L'implémentation de l'interface java.io.Serializing est destinée à la sérialisation, et SerialVersionUID est utilisé pour indiquer la séquence d'implémentation Compatibilité entre les différentes versions de la classe. Si vous modifiez cette classe, modifiez cette valeur.

Sinon, des erreurs se produiront lors de la restauration de classes précédemment sérialisées avec des versions plus anciennes de classes.

Après l'implémentation, si vous utilisez un outil, un avertissement apparaîtra. Il vous demandera de générer automatiquement private static final long serialVersionUID = 1L. Afin d'assurer la compatibilité des versions de classe lors de la désérialisation, il Il est préférable de Heureusement, l'attribut private static final long serialVersionUID est ajouté à chaque classe à sérialiser, et la valeur spécifique est définie par vous-même

Explication sur SerialVersionUID

Le rôle de SerialVersionUID : Afin de conserver la version pendant la sérialisation Compatibilité, c'est-à-dire que la désérialisation conserve toujours le caractère unique de l'objet lorsque la version est mise à niveau.

Vous pouvez en écrire un à volonté, et il en générera un pour vous dans Eclipse. Il existe deux façons de le générer : l'une est le 1L par défaut, tel que :

private static final long serialVersionUID = 1L;
Copier après la connexion

L'autre est. en fonction du nom de la classe et du nom de l'interface , des méthodes et attributs des membres, etc. pour générer un champ de hachage de 64 bits, tel que :

private static final long serialVersionUID = -8940196742313994740L;
Copier après la connexion

Recommandations d'apprentissage gratuites associées : Vidéo de programmation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal