Was ist der Unterschied zwischen java.lang.ref.WeakReferenceund
Eine schwache Referenz ist eine, die keinen Anspruch auf Eigentum erhebt. Eine schwache Referenz behält eine Referenz auf das betreffende Objekt bei, während es sich im Speicher befindet, hindert das Speicherverwaltungssystem jedoch nicht daran, den zugehörigen Speicher zurückzugewinnen, wenn das referenzierte Objekt ansonsten nicht mehr benötigt wird. Viele Sprachen bieten oder unterstützen verschiedene Ebenen schwacher Referenzen, wie Swift, Objective-C, Java, C #, Python, Perl und Lisp.
Was ist der Unterschied zwischen java.lang.ref.WeakReferenceund
Ich bin etwas verwirrt über die Blockverwendung in Objective-C. Ich verwende derzeit ARC und habe ziemlich viele Blöcke in meiner App, die sich derzeit immer auf selfdie schwache Referenz beziehen. selfKann dies die Ursache dafür sein, dass diese Blöcke erhalten bleiben und nicht freigegeben...
Swift hat: Starke Referenzen Schwache Referenzen Nicht besessene Referenzen Wie unterscheidet sich eine nicht besessene Referenz von einer schwachen Referenz? Wann ist es sicher, eine nicht im Besitz befindliche Referenz zu verwenden? Sind nicht besessene Referenzen ein Sicherheitsrisiko wie...
Ich möchte eine Reihe schwacher Referenzen in Swift speichern. Das Array selbst sollte keine schwache Referenz sein - seine Elemente sollten es sein. Ich denke, Cocoa NSPointerArraybietet eine nicht typsichere Version
Ich habe diesen Artikel über das Thema gelesen , verstehe ihn aber nicht wirklich. Bitte geben Sie mir einige Ratschläge zusammen mit Beispielen bei der Beschreibung der
Ich bin seit 2 Jahren ein Java-Entwickler. Aber ich habe noch nie eine WeakReference in meinen Code geschrieben. Wie verwende ich WeakReference, um meine Anwendung effizienter zu gestalten, insbesondere die
Die Verwendung schwacher Referenzen ist etwas, von dem ich noch nie eine Implementierung gesehen habe. Daher versuche ich herauszufinden, was der Anwendungsfall für sie ist und wie die Implementierung funktionieren würde. Wann mussten Sie ein WeakHashMapoder verwenden WeakReferenceund wie wurde es...
Gibt es in Javascript eine Möglichkeit, einen "schwachen Verweis" auf ein anderes Objekt zu erstellen? Hier ist die Wiki-Seite, die beschreibt, was eine schwache Referenz ist. Hier ist ein weiterer Artikel, der sie in Java beschreibt. Kann sich jemand eine Möglichkeit vorstellen, dieses Verhalten...
Kann jemand den Unterschied zwischen den drei Referenzklassen erklären (oder einen Link zu einer netten Erklärung posten)? SoftReference> WeakReference> PhantomReference, Aber wenn ich würde alle nutzen? Warum gibt es ein WeakHashMapaber nein SoftHashMapoder PhantomHashMap? Und wenn ich...
Ich lese die Dokumentation von Xcode und hier ist etwas, das mich verwirrt: __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; Folgendes wird aus der Dokumentation kopiert: Ein Block bildet einen starken Verweis auf Variablen, die er erfasst. Wenn Sie...
Von J. Bloch Eine ... Quelle für Speicherlecks sind Listener ... Der beste Weg, um sicherzustellen, dass Rückrufe sofort gesammelt werden, besteht darin, nur schwache Verweise auf sie zu speichern, indem Sie sie beispielsweise nur als Schlüssel in einer WeakHashMap speichern . Warum gibt es im...
Wenn ich Variablen wie weakin Swift deklariere , erhalte ich manchmal die Fehlermeldung von Xcode: 'schwach' kann nur auf klassen- und klassengebundene Protokolltypen angewendet werden Ich habe mich nur gefragt, warum das Schlüsselwort weaknur auf Klassen- und klassengebundene...
Kann jemand die Hauptvorteile verschiedener Arten von Referenzen in C # erklären? Schwache Referenzen Weiche Referenzen Phantomreferenzen Starke Referenzen. Wir haben eine Anwendung, die viel Speicher verbraucht, und wir versuchen festzustellen, ob dies ein Bereich ist, auf den wir uns...
Was sind die Vor- und Nachteile, wenn Hörer als schwache Referenzen gehalten werden? Der große "Profi" ist natürlich: Das Hinzufügen eines Listeners als WeakReference bedeutet, dass sich der Listener nicht die Mühe machen muss, sich selbst zu entfernen. Aktualisieren Für diejenigen, die sich...
Wenn Sie nicht aufrufen System.gc(), löst das System eine OutOfMemoryException aus. Ich weiß nicht, warum ich System.gc()explizit anrufen muss; Die JVM sollte sich gc()selbst nennen , oder? Bitte beraten. Folgendes ist mein Testcode: public static void main(String[] args) throws...