Sommaire

Validation des acquis : questions/réponses

Si l’état de vos connaissances sur ce chapitre vous semble suffisant, répondez aux questions ci-après.

1. Questions

1 Quelle est la différence fondamentale entre l’implémentation de IDisposable et le recours à un destructeur ?

1. Il n’y en a pas : les deux utilisent le ramasse-miettes.

2. Le destructeur libère de la mémoire par son appel dans le code alors que l’implémentation de IDisposable permet l’activation du ramasse-miettes.

3. IDisposable permet la libération explicite de la mémoire, là où le destructeur appelle le ramasse-miettes.

2 Un ramasse-miettes gère la mémoire :

1. sur la pile

2. sur le tas

3. à la fois sur la pile et le tas

3 On utilise un code qui lui même utilise beaucoup de mémoire. Quelle stratégie peut être intéressante ?

1. Recourir aux références faibles.

2. Recourir à un algorithme de mise en cache.

3. Passer toutes les références non utilisées à null dès que possible.

4 On passe deux paramètres entiers à la méthode addition comme ci-dessous :

int a = 5 ;  
int b = 3 ;  
int addition (a, b)  
{  
   return a + b ;  
}

Où sont alloués les deux paramètres passés à la méthode addition ?

1. Sur le tas

2. Sur la pile

3. Sur les deux, indifféremment ...