La programmation des structures de données
La programmation des structures de données telle que la liste en Java laisse la possibilité à l'implanteur de choisir des cases contiguës ou non contiguës en mémoire. Cette contrainte est donc forcément dans le bytecode que la JVM va prendre en charge. Quand je parle de la mémoire c'est forcément la mémoire vive pendant l'exécution du programme qui manipule la liste (création et entrée des données dans cette dernière).
Si on s'intéresse au cas du 32bits (x86), La mémoire est forcément segmentée.
Peut on dire que la liste doit se trouver en zone utilisateur ou données en respectant le fait qu'elle soit contiguë ou non? que se passe -t- il si la taille dépasse le segment (dans ce cas elle ne serait plus contiguë...)?
C'est tout de même impressionnant de traverser toutes les couches pour imposer une contrainte à la mémoire; je trouve!
A vous!
Le problème c'est qu'en RAM
Le problème c'est qu'en RAM, le segment est partagé en zones ( cas du X86) parmi lesquelles se trouvent une zone utilisateur et une zone données. Donc, mes dires concernent forcement l'aspect physique de la chose.
Je pense que si JAVA par exemple te propose un rangement contigüe de la structure cela ne peut être qu'en RAM, elle doit donc respecter le contrat.
Pour moi, organiser les emplacements de façon contigüe mais pas en RAM n'a aucune signification. Certes tout cela n'est pas évident parce qu'on décent profondément dans la soute.
"embrouille totale" entre deux discussions sur la mémoire
Désolé de revenir sur ce sujet puisque je n'arrive pas à me positionner par rapport à ce qui a été dit. Au début, vous m'avez convaincu jusqu'à ce que je participe à une discussion au forum du C++, qui m'a aiguillé plutôt vers le contraire de vos affirmations. Résultat "embrouille totale". Voila la discussion en question du forum C++ : (Regarder plutôt les derniers messages de la discussion ci-dessous).
Tableau et constructeurs sans arguments
J'aimerais bien avoir une mise au point pour la clarté des sujets.
Merci à vous