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.
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 …
Ich erhalte diese Fehlermeldung, wenn ich meine JUnit-Tests ausführe: java.lang.OutOfMemoryError: GC overhead limit exceeded Ich weiß, was ein OutOfMemoryErrorist, aber was bedeutet GC-Overhead-Limit? Wie kann ich das lösen?
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 …
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?
Ich bin ein bisschen verwirrt mit dem JavaScript- deleteOperator. Nehmen Sie den folgenden Code: var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; Nachdem dieser Code ausgeführt wurde, objist null, foobezieht sich aber immer noch auf ein Objekt genau wie obj. Ich vermute, dieses Objekt …
Ich muss wissen, wann die finalize()Methode in der aufgerufen wird JVM. Ich habe eine Testklasse erstellt, die beim Aufrufen der finalize()Methode in eine Datei schreibt, indem sie überschrieben wird. Es wird nicht ausgeführt. Kann mir jemand den Grund sagen, warum es nicht ausgeführt wird?
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 …
Ich versuche zu verstehen, was die Konzepte junger , alter und permanenter Generationen in der Java-Heap-Terminologie sind, und insbesondere die Interaktionen zwischen den drei Generationen. Meine Fragen sind: Was ist die junge Generation? Was ist die alte Generation? Was ist die permanente Generation? Wie interagieren die drei Generationen miteinander?
Was ist JavaScript-Speicherbereinigung? Was ist für einen Webprogrammierer wichtig, um die JavaScript-Speicherbereinigung zu verstehen, um besseren Code schreiben zu können?
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 …
Ist es möglich, die Speicherbereinigung in Java zu erzwingen, auch wenn dies schwierig ist? Ich weiß von System.gc();und Runtime.gc();aber sie schlagen nur vor, GC zu machen. Wie kann ich GC erzwingen?
Kann mir jemand kurz erklären, wie ARC funktioniert? Ich weiß, dass es sich von Garbage Collection unterscheidet, aber ich habe mich nur gefragt, wie es genau funktioniert. Wenn ARC das tut, was GC tut, ohne die Leistung zu beeinträchtigen, warum verwendet Java dann GC? Warum wird ARC nicht auch verwendet?
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.