Kapitel 7. Objekt-Lebensdauer
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ein Vorteil des verwalteten Ausführungsmodells von .NET ist, dass die Laufzeitumgebung den größten Teil der Speicherverwaltung deiner Anwendung automatisieren kann. Ich habe zahlreiche Beispiele gezeigt, in denen Objekte mit dem Schlüsselwort new
erstellt wurden, und in keinem wurde der von diesen Objekten verbrauchte Speicher explizit freigegeben.
In den meisten Fällen musst du keine Maßnahmen ergreifen, um Speicher zurückzugewinnen. Die Laufzeitumgebung bietet einen Garbage Collector (GC),1 einen Mechanismus, der automatisch erkennt, wenn Objekte nicht mehr verwendet werden, und den von ihnen belegten Speicher wiederherstellt, damit er für neue Objekte verwendet werden kann. Es gibt jedoch bestimmte Nutzungsmuster, die zu Leistungsproblemen führen oder den GC sogar ganz aushebeln können, daher ist es nützlich zu wissen, wie er funktioniert. Das ist besonders wichtig bei lang laufenden Prozessen, die tagelang laufen können (kurzlebige Prozesse können vielleicht ein paar Speicherlecks tolerieren).
Die GC ist darauf ausgelegt, den Speicher effizient zu verwalten, aber der Speicher ist nicht die einzige begrenzte Ressource, mit der du umgehen musst. Manche Dinge benötigen nur wenig Speicherplatz in der CLR, sind aber relativ teuer, wie z. B. eine Datenbankverbindung oder ein Handle von einer Betriebssystem-API. Die GC ...
Get Programmierung C# 10 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.