Comment les champs d'un objet sont-ils numérotés et disposés en mémoire ?
Déterminer le numéro (offset) d'un champ dans le bloc mémoire d'un objet et la taille totale du bloc.
Déterminer le numéro (offset) d'un champ dans le bloc mémoire d'un objet et la taille totale du bloc.
Les champs sont numérotés à partir de 1 dans l'ordre de leur déclaration ; le mot 0 est réservé. Un objet à n champs occupe n+1 mots.
Cherche chaque exercice au brouillon, puis coche “valider” si tu as trouvé la bonne démarche. Utilise le bouton aide si tu as besoin d'un coup de pouce.
Donner la numérotation des champs et la taille du bloc pour la classe Point { int x; int y; }.
La classe Point a 2 champs dynamiques (x et y) :
num(x) = 1
num(y) = 2
Un objet Point occupe 2+1 = 3 mots dans le tas :
offset 0 : réservé (méthodes)
offset 1 : valeur de x
offset 2 : valeur de y
Un objet Point(3, 7) est représenté par un bloc de 3 mots : [réservé, 3, 7].
Donner la numérotation des champs pour la classe Rectangle { int largeur; int hauteur; int couleur; }.
Donner la numérotation pour la classe Exemple { float champFloat; int champInt; String champString; } du poly.
Donner la numérotation pour la classe Personne { int age; int taille; }.