Als «garbage-collection» getaggte Fragen

Garbage Collection (GC) ist eine Form der automatischen Speicherverwaltung, bei der versucht wird, Müll oder Speicher zurückzugewinnen, der von Objekten belegt wird, die vom Programm nicht mehr verwendet werden.

19
Ordnungsgemäße Verwendung der IDisposable-Schnittstelle
Ich weiß aus der Microsoft-Dokumentation, dass die "primäre" Verwendung der IDisposableSchnittstelle darin besteht, nicht verwaltete Ressourcen zu bereinigen. Für mich bedeutet "nicht verwaltet" Dinge wie Datenbankverbindungen, Sockets, Fensterhandles usw. Aber ich habe Code gesehen, in dem die Dispose()Methode implementiert ist, um verwaltete Ressourcen freizugeben , was mir überflüssig erscheint, da …



21
Gibt es einen Destruktor für Java?
Gibt es einen Destruktor für Java? Ich scheine keine Dokumentation dazu zu finden. Wenn nicht, wie kann ich den gleichen Effekt erzielen? Um meine Frage genauer zu formulieren, schreibe ich eine Anwendung, die sich mit Daten befasst, und die Spezifikation besagt, dass es eine Schaltfläche zum Zurücksetzen geben sollte, die …

8
Wo ist Machine.Config?
Ich möchte eine Änderung anwenden, damit ich die Server-GC-Einstellungen für meine C # 3.5-App verwenden kann. Dies kann durch Bearbeiten der machine.configDatei erfolgen. Das einzige Problem ist, dass ich nicht weiß, wo das ist. Wie kann ich den Pfad dieser Datei auf mehreren Computern wiederholbar finden?



12
Warum ist es schlecht, System.gc () aufzurufen?
Nachdem ich eine Frage zum Erzwingen von Objekten in Java (der Typ löschte eine 1,5-GB-HashMap) mit beantwortet hatteSystem.gc() , wurde mir gesagt, dass es eine schlechte Praxis sei, System.gc()manuell aufzurufen , aber die Kommentare waren nicht ganz überzeugend. Außerdem schien es niemand zu wagen, meine Antwort zu stimmen oder zu …





16
Warum hat C ++ keinen Garbage Collector?
Ich stelle diese Frage nicht wegen der Vorzüge der Speicherbereinigung. Mein Hauptgrund für diese Frage ist, dass ich weiß, dass Bjarne Stroustrup gesagt hat, dass C ++ irgendwann einen Garbage Collector haben wird. Warum wurde es nicht hinzugefügt? Es gibt bereits einige Garbage Collectors für C ++. Ist dies nur …




2
Grundlegendes zur Speicherbereinigung in .NET
Betrachten Sie den folgenden Code: public class Class1 { public static int c; ~Class1() { c++; } } public class Class2 { public static void Main() { { var c1=new Class1(); //c1=null; // If this line is not commented out, at the Console.WriteLine call, it prints 1. } GC.Collect(); GC.WaitForPendingFinalizers(); …

6
Wie JavaScript-Schließungen durch Müll gesammelt werden
Ich habe den folgenden Chrome-Fehler protokolliert , der zu vielen schwerwiegenden und nicht offensichtlichen Speicherverlusten in meinem Code geführt hat: (Diese Ergebnisse verwenden den Speicherprofiler von Chrome Dev Tools , mit dem der GC ausgeführt wird, und erstellen dann einen Heap-Snapshot von allem, was nicht gesammelt wurde.) Im folgenden Code …

11
Vorgehensweise: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () ist nach 10 Sekunden abgelaufen?
Wir sehen eine Reihe von TimeoutExceptionsin GcWatcher.finalize, BinderProxy.finalizeund PlainSocketImpl.finalize. 90 +% davon passieren auf Android 4.3. Wir erhalten Berichte darüber von Crittercism von Benutzern vor Ort. Der Fehler ist eine Variation von: " com.android.internal.BinderInternal$GcWatcher.finalize() timed out after 10 seconds" java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds at android.os.BinderProxy.destroy(Native Method) at …

24
Wann ist es akzeptabel, GC.Collect anzurufen?
Der allgemeine Rat ist, dass Sie nicht GC.Collectvon Ihrem Code aus aufrufen sollten , aber was sind die Ausnahmen von dieser Regel? Ich kann mir nur einige sehr spezifische Fälle vorstellen, in denen es sinnvoll sein kann, eine Speicherbereinigung zu erzwingen. Ein Beispiel, das mir in den Sinn kommt, ist …


9
Stack, Static und Heap in C ++
Ich habe gesucht, aber diese drei Konzepte nicht sehr gut verstanden. Wann muss ich die dynamische Zuordnung (im Heap) verwenden und was ist ihr wirklicher Vorteil? Was sind die Probleme von Statik und Stapel? Könnte ich eine gesamte Anwendung schreiben, ohne Variablen im Heap zuzuweisen? Ich habe gehört, dass andere …

6
Ist das explizite Schließen von Dateien wichtig?
Wenn Sie in Python entweder eine Datei öffnen, ohne sie aufzurufen close(), oder die Datei schließen, aber nicht verwenden try- finallyoder die withAnweisung " ", ist dies ein Problem? Oder reicht es als Codierungspraxis aus, sich auf die Python-Garbage-Collection zu verlassen, um alle Dateien zu schließen? Zum Beispiel, wenn man …




1
Python Garbage Collector-Dokumentation [geschlossen]
Geschlossen. Diese Frage entspricht nicht den Richtlinien für Stapelüberlauf . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Stack - Überlauf. Geschlossen vor 5 Jahren . Verbessere diese Frage Ich suche nach Dokumenten, die detailliert beschreiben, wie die …

5
Reduzieren der Pausenzeit für die Speicherbereinigung in einem Haskell-Programm
Wir entwickeln ein Programm, das "Nachrichten" empfängt und weiterleitet und dabei einen temporären Verlauf dieser Nachrichten führt, damit es Ihnen auf Anfrage den Nachrichtenverlauf mitteilen kann. Nachrichten werden numerisch identifiziert, haben normalerweise eine Größe von etwa 1 Kilobyte und wir müssen Hunderttausende dieser Nachrichten aufbewahren. Wir möchten dieses Programm auf …

3
Java GC (Allocation Failure)
Warum immer "GC (Allocation Failure)"? Java HotSpot (TM) 64-Bit-Server-VM (25.25-b02) für Linux-amd64 JRE ( 1.8.0_25 -b17), CommandLine flags: -XX:CMSInitiatingOccupancyFraction=60 -XX:GCLogFileSize=10485760 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=32212254720 -XX:MaxHeapSize=32212254720 -XX:NewRatio=10 -XX:OldPLABSize=16 -XX:ParallelGCThreads=4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintStringTableStatistics -XX:+PrintTenuringDistribution -XX:StringTableSize=1000003 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=50 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 27.329: [GC (Allocation Failure) 27.329: [ParNew Desired survivor size 44728320 bytes, new …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.