Looking for .net Keywords? Try Ask4Keywords

.NET FrameworkCollecte des ordures


Introduction

Dans .Net, les objets créés avec new () sont alloués sur le tas géré. Ces objets ne sont jamais explicitement finalisés par le programme qui les utilise; à la place, ce processus est contrôlé par le ramasse-miettes .Net.

Certains des exemples ci-dessous sont des "cas pratiques" pour montrer le Garbage Collector au travail et des détails importants sur son comportement, tandis que d'autres se concentrent sur la manière de préparer les classes pour une manipulation correcte par le Garbage Collector.

Remarques

Le Garbage Collector vise à réduire le coût du programme en termes de mémoire allouée, mais cela a un coût en termes de temps de traitement. Afin de parvenir à un bon compromis global, un certain nombre d’optimisations doivent être prises en compte lors de la programmation en gardant à l’esprit le Garbage Collector:

  • Si la méthode Collect () doit être explicitement appelée (ce qui ne devrait pas être le cas de toute façon), envisagez d'utiliser le mode "optimisé" qui finalise l'objet mort uniquement lorsque la mémoire est réellement nécessaire
  • Au lieu d'appeler la méthode Collect (), envisagez d'utiliser les méthodes AddMemoryPressure () et RemoveMemoryPressure (), qui déclenchent une collecte de mémoire uniquement si nécessaire
  • Une collection de mémoire n'est pas garantie pour finaliser tous les objets morts; au lieu de cela, le garbage collector gère 3 "générations", un objet parfois "survivant" d'une génération à l'autre
  • Plusieurs modèles de threads peuvent s'appliquer, en fonction de divers facteurs, y compris le réglage fin de la configuration, entraînant différents degrés d'interférence entre le thread du garbage collector et les autres threads d'application.

Collecte des ordures Exemples Liés