Quelqu'un peut-il me parler de la génération de garbage collector dans .net?Quelqu'un peut-il me parler de la génération de garbage collector dans .net
Répondre
garbage collector a 3 générations 0 1 2
la plus haute génération 2. Dans .net le garbage collector est normalement invocked implicitement mais vous pouvez forcer le GC aussi explicitement.
lorsque les premières générations est de remplir à savoir 0 GEN & votre application souhaite stocker une plus grande valeur alors ce GC invocks & contrôle quels éléments sont utilisés & qui ne sont pas & Delets l'élément utilisé si tous les éléments sont utilisés alors tous les éléments sont transférés au niveau un peu plus élevé ie 1 GEN simliarly à 2 GEN quand toutes les générations sont remplies & vous voulez stocker plus d'élément alors GC va lancer une exception de mémoire hors de l'exception.
Il y a aussi le Large Object Heap, qui est un tas spécial pour l'objet d'au moins 85000 octets. Il est géré un peu différemment des tas de générations. –
Un article Microsoft sur le sujet: Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework
Vous ne génère pas le garbage collector - la poubelle juste collecter est.
Il se déclenche (à des moments imprévisibles) et efface tous les éléments qui ne sont plus référencés. Vous pouvez "Suggérer" qu'il peut vouloir travailler immédiatement en appelant la méthode Collect sur le Garbage Collector, auquel vous pouvez accéder via System.GC - mais cela ne garantit pas qu'il répondra immédiatement.
Espérons que ça aide.
@Martin: Le garbage collector classifie en interne les blocs de mémoire en générations, je suppose que c'est ce que l'OP veut savoir. –
Il existe plusieurs techniques d'optimisation utilisées par Garbage Collector. L'un d'eux utilise des générations d'objets. Tout objet sur le tas appartient à l'une des générations:
- Génération 0 - objets nouvellement alloués. ils n'ont jamais été marqués pour la collecte pour le moment.
- Génération 1 - les objets de cette génération ont survécu à un balayage.
- Génération 2 - les objets de cette génération ont survécu à plus d'un balayage.
GC balaie les générations avec un nombre plus élevé beaucoup moins fréquemment.
- 1. garbage collector .NET
- 2. .NET garbage collector mystery
- 3. Xcode: Garbage Collector Setting
- 4. android garbage collector lingo
- 5. Garbage Collector Flash Player
- 6. Eclipse: bouton Garbage Collector
- 7. Garbage Collector asp.net
- 8. Exécuter garbage collector à partir de la ligne de commande?
- 9. alloca et ObjectiveC Garbage Collector
- 10. Garbage Collector et Core Graphics
- 11. Garbage collector et la méthode finalize()
- 12. Calmer un garbage collector excité
- 13. Garbage Collector et Core Foundation
- 14. Contrôle du garbage collector de Lua5.1
- 15. C# garbage collector référence croisée
- 16. Crash de Webview avec Garbage Collector ON
- 17. iPad - prend en charge Garbage Collector?
- 18. Le garbage collector appelle-t-il Dispose()?
- 19. Garbage Collector détruit les objets d'Interface Builder
- 20. Garbage collector qui fonctionnerait en dehors de mon application?
- 21. Performance relative du garbage collector de Garbage First (G1) de Java?
- 22. La vitesse d'allocation dépend-elle du garbage collector utilisé?
- 23. Que signifie CMS par rapport au Garbage Collector de Java?
- 24. Impossible d'exécuter Cocoa UnitTests en raison de la désactivation de Garbage Collector
- 25. Est-ce que Marshal.ReleaseComObject appelle le garbage collector?
- 26. Avec les parties pile et tas de mémoire, laquelle est gérée par le garbage collector .NET?
- 27. Vérifiez si l'objet peut être récupéré par le garbage collector
- 28. Comment faire mon code Haskell utiliser Laziness et Garbage collector
- 29. me parler de paramètres q dans dismax analyseur requête (SOLR)
- 30. Est-ce que l'influence du modificateur readonly sur Garbage collector?
C'est une question très vaste. Y at-il quelque chose de spécifique que vous voulez savoir, ou avez-vous envie d'apprendre comment cela fonctionne? Je suggère d'avoir une lecture de "CLR de Richter via C#". Cela vous donnera une bonne couverture. –