Quelle est la différence entre la sérialisation et la synchronisation dans Java? J'ai besoin d'une explication ou d'un tutoriel.Quelle est la différence entre la sérialisation et la synchronisation dans Java?
Répondre
La synchronisation fait référence au multithreading. Un bloc de code synchronisé ne peut être exécuté que par un thread à la fois.
sérialisation se réfère à la conversion des objets de flux binaires, soit pour le stockage ou la transmission. L'acte de sérialisation code les données selon des règles spécifiques. Ce flux binaire peut ensuite être désérialisé plus tard ou sur un système distant qui le reçoit. Pour que la sérialisation fonctionne, la définition de classe doit correspondre (c'est-à-dire que vous devez utiliser la même version de la classe ou une version dont la compatibilité est garantie) et la classe doit implémenter l'interface Serializable
.
Plus sur serialization.
Plus sur synchronization sérialisation
+1; juste quelques remarques supplémentaires. Tout d'abord, le terme sérialisation est parfois utilisé dans le contexte de la gestion des demandes * en séquence * plutôt que simultanément. À part ça, je dirais que les objets Java sont sérialisés en bytestreams plutôt qu'en bitstreams. AFAIK, la sortie est toujours alignée sur les octets. –
est de prendre un objet et le dumping à quelque chose qui est en dehors de la portée du programme (par exemple, une chaîne ou un fichier xml)
synchronisation est un concept d'avoir différents threads en cours d'exécution dans synchroniser les uns avec les autres afin qu'ils n'utilisent pas, par exemple, une ressource partagée en même temps.
Pour autant que je sais que ces termes ont très peu en commun (sauf si vous avez une question sur la façon de synchroniser les deux threads qui ont besoin sur serialize le même objet)
La synchronisation est un problème de concurrence, par exemple comment coordonnez-vous l'accès à un objet à partir de plusieurs threads.
Ici, une flèche représente l'accès.
s
[thread1] ---------------> y
n [shared object]
[thread2] ---------------> c
h
sérialisation est la conversion des structures de données et des objets dans une séquence de bits que vous pouvez stocker/transmettre et ensuite reconvertir les structures de données et d'objets.
Ici, une flèche représente la conversion.
deserialization
<---------------
[object] [binary]
--------------->
serialization
Ceci est plus utile lorsque la désérialisation se produit à un autre endroit et/ou à un autre moment.
La synchronisation assure qu'un seul thread exécuteront à un moment et donc aucune chance de situation de blocage. La sérialisation fait référence au stockage de l'état d'un objet. Par exemple, nous pouvons prendre un jeu vidéo. Si nous suspendons le jeu et le continuons plus tard, il reprendra le jeu. Cela signifie que l'état et le niveau sont stockés ici.
- 1. Quelle est la différence entre la sérialisation et l'encodage?
- 2. Quelle est la différence entre synchronisation synchronisée et statique?
- 3. Quelle est la différence entre ~ et! opérateur?
- 4. quelle est la différence entre:.! et: r !?
- 5. Quelle est la différence entre = et: =
- 6. Quelle est la différence entre dict() et {}?
- 7. Quelle est la différence entre JFrame et FramView en Java?
- 8. Quelle est la différence entre "$^N" et "$ +"?
- 9. Quelle est la différence entre la saturation et la luminosité?
- 10. Quelle est la différence entre XmlArrayAttribute et XmlArrayItemAttribute?
- 11. Quelle est la différence entre lockless et non-bloquant?
- 12. Quelle est la différence entre la version et l'itération?
- 13. Quelle est la différence entre la programmation parallèle et multicœur?
- 14. Quelle est la différence entre la plate-forme et l'outil?
- 15. Quelle est la différence entre le tuyau et la douille?
- 16. Quelle est la différence entre XOR et NOT-EQUAL-TO?
- 17. Quelle est la différence entre un HashMap et un TreeMap?
- 18. Quelle est la différence entre servlet et jsp?
- 19. Quelle est la différence entre% Q et% {} dans ruby?
- 20. Quelle est la différence entre // et /// dans Visual Studio?
- 21. Quelle est la différence entre undefined et window.undefined dans JavaScript?
- 22. Quelle est la différence entre - et NOT opérateur dans Lucene?
- 23. Quelle est la différence entre target et currenttarget dans flex?
- 24. Quelle est la différence entre -I et -L dans makefile?
- 25. Quelle est la différence entre memset et memcpy dans C
- 26. Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL
- 27. Quelle est la différence entre HttpContext.Current.User et Thread.CurrentPrincipal dans asp.net?
- 28. Quelle est la différence entre send() et sendAndLoad() dans flash?
- 29. Quelle est la différence entre Toggle et slideToggle dans jQuery?
- 30. Quelle est la différence entre * .tpl et * .html dans smarty?
Listing des similitudes pourrait faire une liste (beaucoup) plus courte ... ils ne sont pas sujets très liés –
Ils diffèrent par tous, sauf sept premières et dernières lettres de leurs noms. –