C# - Garbage Collection

Ok, so verstehe ich den stack und den heap (Werte live auf dem Stack Referenzen auf dem Heap).

Wenn ich deklarieren Sie eine neue Instanz einer Klasse, die dieses Leben auf dem heap, mit einem Verweis zu diesem Zeitpunkt im Arbeitsspeicher auf dem stack. Ich weiß auch, dass C# ist es die eigene Garbage Collection (ie. Es wird bestimmt, Wann eine Klasse instanziert ist nicht mehr in Gebrauch ist, und reaktiviert die Erinnerung).

Ich habe 2 Fragen:

  1. Ist mein Verständnis von Garbage Collection richtig?
  2. Kann ich meine eigenen? Wenn ja, gibt es tatsächlich einen Vorteil, es selbst zu tun oder sollte ich lass es einfach.

Ich Frage weil ich eine Methode in einer For-Schleife. Jedes mal, wenn ich über eine Schleife erstelle ich eine neue Instanz meiner Klasse. In meinem Kopf visualisiere ich alle diese Klassen liegen um in einem heap, nichts zu tun, aber unter dem Speicher und ich will Sie loswerden, so schnell wie ich kann, um zu halten Dinge ordentlich und sauber!

Verstehe ich das richtig oder bin ich etwas fehlt?

  • Lassen Sie die GC tun es ist Sache. Das ist, was es dort für. Es sei denn, durch profiling, müssen Sie die Metriken, mit denen Sie ableiten, dass Sie müssen zum aufrufen des GC manuell.
  • Wert-Typen auf dem stack, sagen Sie? blogs.msdn.com/b/ericlippert/archive/2010/09/30/...
  • Lassen Sie es tun es ist Sache. Wenn die Profilerstellung zeigt an, es lohnt sich, betrachten Objekt-pooling.
  • Sie verstehe eigentlich nicht den stack und den heap. Ich möchte Sie ermutigen, Lesen Sie blogs.msdn.com/b/ericlippert/archive/2009/04/27/... und blogs.msdn.com/b/ericlippert/archive/2010/09/30/...
  • ist die neue Instanz verwendet, aus dem iterator-Bereich?
  • Früher habe ich das gleiche Gefühl, als ich zu mir kam c# von c++. Es fühlt sich schmutzig af den ersten, aber Sie werden lernen, es zu ignorieren und lassen Sie den GC seine Sache tun.
  • Programmierung Held - link setzen Sie so ein lächeln auf mein Gesicht, manchmal nur die Liebe sein falsch!
  • Als ich zum ersten mal den Artikel, es blies meinen kleinen Geist.

InformationsquelleAutor JMK | 2012-01-04
Schreibe einen Kommentar