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.
Wenn ich folgenden Code habe: MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass = null; Wird pClass Müll gesammelt? Oder wird es herumhängen und immer noch seine Ereignisse abfeuern, wenn sie auftreten? Muss ich Folgendes tun, um die Speicherbereinigung zu ermöglichen? MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; …
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(); …
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 …
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 …
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 …
Nach meinem Verständnis bereinigt die Garbage Collection in Java einige Objekte, wenn nichts anderes auf dieses Objekt zeigt. Meine Frage ist, was passiert, wenn wir so etwas haben: class Node { public object value; public Node next; public Node(object o, Node n) { value = 0; next = n;} } …
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 …
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 …
Gibt es eine Möglichkeit, Speicher in Java freizugeben, ähnlich wie bei C free()? Oder ist es die einzige Option, das Objekt auf null zu setzen und sich auf GC zu verlassen?
In meinen Klassen implementiere ich IDisposable wie folgt: public class User : IDisposable { public int id { get; protected set; } public string name { get; protected set; } public string pass { get; protected set; } public User(int UserID) { id = UserID; } public User(string Username, string …
Beginnen Sie mit diesen einfachen Klassen ... Angenommen, ich habe eine einfache Reihe solcher Klassen: class Bus { Driver busDriver = new Driver(); } class Driver { Shoe[] shoes = { new Shoe(), new Shoe() }; } class Shoe { Shoelace lace = new Shoelace(); } class Shoelace { bool …
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 …
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 …
Wenn ich 'git gui' starte, wird ein Popup mit der Aufschrift angezeigt Dieses Repository enthält derzeit ungefähr 1500 lose Objekte. Anschließend wird vorgeschlagen, die Datenbank zu komprimieren. Ich habe das schon einmal gemacht und es reduziert die losen Objekte auf ungefähr 250, aber das unterdrückt das Popup nicht. Durch erneutes …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.