tu as des APIs en dehors de la librairie standard pour te faire de la serialisation
On s'en fou, t'es pas obligé de les utiliser, tu peux faire ta propre sérialisation si ça t'excite.
Ce qui importe, c'est que les API de sérialisation peuvent faire confiance à la JVM qui te garantie l'endianess, la taille des types primitifs, l'alignement : ces API seront portables.
En C, les API sont obligés de faire du cas par cas en fonction de la plateforme cible.
Et si un programme essaie de lire au petit bonheur la chance un truc écrit au petit bonheur la chance par un autre programme,
On te parle d'un même programme, le même code source, mais sur 2 plateformes différentes : le programme ne pondra pas le même binaire et ne lira pas le binaire de la même façon. C'est bien un problème de portabilité du code qui a des comportements différents suivant la plateforme sur laquelle il est compilé/exécuté.
si tu essaies de faire un dump mémoire dans un fichier et de reloader brutalement ce dump mémoire sur une autre architecture, il y a de fortes chances que ça marche pas
Le langage/la JVM ne te permet pas de le faire, justement parcque ce n'est pas portable : Java ne t'autorise qu'à faire des trucs portables là où le C te permet de faire des trucs non portables.
c’est la résolution des problèmes selon Java : si une fonctionnalité peut potentiellement être mal utilisée, on la supprime
Bah oui, c'est ce qui permet d'obtenir des garanties en terme de portabilité, de sécurité. Au détriments d'autres aspects on est d'accord.
[^] # Re: Bonne nouvelle
Posté par TImaniac (site web personnel) . En réponse à la dépêche Que penser du rachat de Novell ?. Évalué à 2.
On s'en fou, t'es pas obligé de les utiliser, tu peux faire ta propre sérialisation si ça t'excite.
Ce qui importe, c'est que les API de sérialisation peuvent faire confiance à la JVM qui te garantie l'endianess, la taille des types primitifs, l'alignement : ces API seront portables.
En C, les API sont obligés de faire du cas par cas en fonction de la plateforme cible.
Et si un programme essaie de lire au petit bonheur la chance un truc écrit au petit bonheur la chance par un autre programme,
On te parle d'un même programme, le même code source, mais sur 2 plateformes différentes : le programme ne pondra pas le même binaire et ne lira pas le binaire de la même façon. C'est bien un problème de portabilité du code qui a des comportements différents suivant la plateforme sur laquelle il est compilé/exécuté.
si tu essaies de faire un dump mémoire dans un fichier et de reloader brutalement ce dump mémoire sur une autre architecture, il y a de fortes chances que ça marche pas
Le langage/la JVM ne te permet pas de le faire, justement parcque ce n'est pas portable : Java ne t'autorise qu'à faire des trucs portables là où le C te permet de faire des trucs non portables.
c’est la résolution des problèmes selon Java : si une fonctionnalité peut potentiellement être mal utilisée, on la supprime
Bah oui, c'est ce qui permet d'obtenir des garanties en terme de portabilité, de sécurité. Au détriments d'autres aspects on est d'accord.