Chapitre 7. Durée de vie des objets
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
L'un des avantages du modèle d'exécution géré de .NET est que le moteur d'exécution peut automatiser la plupart de la gestion de la mémoire de ton application. J'ai montré de nombreux exemples qui créent des objets avec le mot-clé new, et aucun n'a explicitement libéré la mémoire consommée par ces objets.
Dans la plupart des cas, tu n'as pas besoin de faire quoi que ce soit pour récupérer la mémoire. Le moteur d'exécution fournit un collecteur d'ordures (garbage collector, GC),1 un mécanisme qui détecte automatiquement les objets qui ne sont plus utilisés et récupère la mémoire qu'ils occupaient afin de l'utiliser pour de nouveaux objets. Cependant, certains modes d'utilisation peuvent entraîner des problèmes de performance ou même faire échouer le GC, il est donc utile de comprendre comment il fonctionne. C'est particulièrement important pour les processus de longue durée qui peuvent fonctionner pendant des jours (les processus de courte durée peuvent tolérer quelques fuites de mémoire).
Le GC est conçu pour gérer efficacement la mémoire, mais la mémoire n'est pas la seule ressource limitée avec laquelle tu dois composer. Certains éléments ont une faible empreinte mémoire dans le CLR mais représentent quelque chose de relativement coûteux, comme une connexion à une base de données ou un handle d'une API du système ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access