GC: Referenz entfernen

Status
Nicht offen für weitere Antworten.

Calamitous

Bekanntes Mitglied
hallo!

soviel ich im Bilde mit dem GC bin entfernt der nur Objekte wo keine Referenz mehr steht. Erleichtern kann man das ganze indem man die Instanz = null setzt. Das heißt aber soweit ich das verstanden habe nicht das sie damit entfernt wird...
also ist es auch nicht garantuert dass, das Objekt entfernt wird wenn ich folgendes mache
objectX = null;
System.gc();

gibt es also eine Möglichkeit das Objekt explizit zu entfernen ohne Rücksicht darauf ob noch referenzen vorhanden sind.
stell mir in etwas so was vor:

System.gb(objectX);

gibts sowas, oder ist das ganze überhaupt ein kleiner Denkfehler?
 

akira

Bekanntes Mitglied
Hallo,

Du brauchst Dir darüber eigentlich wirklich keinen Kopf zu zerbrechen, eine explizite Frreigabe ist nicht nötig.

also ist es auch nicht garantuert dass, das Objekt entfernt wird wenn ich folgendes mache
objectX = null;
System.gc();

Wirklich garantieren kann man es wahrscheinlich nicht, es ist jedoch der einzige Weg einer "expliziten" Freigabe.
 

Calamitous

Bekanntes Mitglied
mir ist gerade eingefallen es müßte ja doch zumindest eine Möglichkeit geben alle Referenzen auf ein Objekt irgendwie zu bekommen, schließlich sieht der GC ja auch nach ob es noch ref's gibt...
wenn ich das auch könnte dann könnte ich ja händisch alle Referenzen entfernen und kann dann sicher sein das der GC das Objekt entfernt
 

Tobias

Top Contributor
Schau dir mal Weak References (package java.lang.ref) an. Ein Objekt, auf das nur Weak References verweisen kann vom GC entfernt werden, obwohl noch Referenzen bestehen, zum Beispiel bei knappem Speicherplatz. Phantom References etc sind da sicher auch interessant, je nach Anwendungsfall.

mpG
Tobias
 

akira

Bekanntes Mitglied
mir ist gerade eingefallen es müßte ja doch zumindest eine Möglichkeit geben alle Referenzen auf ein Objekt irgendwie zu bekommen, schließlich sieht der GC ja auch nach ob es noch ref's gibt...

Ich glaube nicht, das es eine Möglichkeit gibt, an den internen Referenzzähler zu kommen.
Und das ist auch gut so! Ein manuelles Setzen des Zählers könnte zu einem inkonsitenten Verhalten der VM und Memory Leaks führen.
 

Grizzly

Top Contributor
Calamitous hat gesagt.:
gibt es also eine Möglichkeit das Objekt explizit zu entfernen ohne Rücksicht darauf ob noch referenzen vorhanden sind.
stell mir in etwas so was vor:

System.gb(objectX);

gibts sowas, oder ist das ganze überhaupt ein kleiner Denkfehler?

Da gibt es nur eine Lösung: Klassen sauber implementieren. :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
MiMa Referenz auf Objekte und deren Inhalte Allgemeine Java-Themen 12
kodela Übergabe einer Referenz Allgemeine Java-Themen 20
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
M Compiler-Fehler Methoden-Referenz Allgemeine Java-Themen 5
S OOP this-Referenz als Konstruktor-Übergabe Allgemeine Java-Themen 8
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
Y POI auf eine Referenz (Datei/Internetseite) anwenden Allgemeine Java-Themen 9
B Speicherverbrauch Objekt-Referenz Allgemeine Java-Themen 11
D Referenz einer Funktion aus einer anonymen Klasse? Allgemeine Java-Themen 3
P Threads ohne Referenz & der Garbage Collector Allgemeine Java-Themen 2
K Als Rückgabewert ode call by referenz was ist sauberer? Allgemeine Java-Themen 12
A Observer Pattern: feuern bei neuer Referenz-Zuweisung? Allgemeine Java-Themen 8
woezelmann referenz der outer class aus static nested class heraus Allgemeine Java-Themen 7
T Interface-Referenz Allgemeine Java-Themen 2
K ArrayList Referenz Allgemeine Java-Themen 8
MQue this- Referenz Allgemeine Java-Themen 4
G referenz von variablen Allgemeine Java-Themen 9
T Referenz und GC? Allgemeine Java-Themen 16
T JNI Referenz auf Variable in Java? Allgemeine Java-Themen 2
MQue Datei- referenz schließen Allgemeine Java-Themen 5
S Referenz auf Funktion? Allgemeine Java-Themen 16
P call by value/referenz Allgemeine Java-Themen 4
S Stream ohne Referenz kopieren ? Allgemeine Java-Themen 4
G Referenz und Garbagecollector Allgemeine Java-Themen 4
D Map: Referenz oder Int-ID als key speichern? Allgemeine Java-Themen 11
M Stil-Frage: this-Referenz Allgemeine Java-Themen 38
B wird Vektor als Referenz übergeben? Allgemeine Java-Themen 5
G 2 Objekte der selben Klasse zusammenfügen und alte Referenz Allgemeine Java-Themen 19
V Übergabe per Referenz. Allgemeine Java-Themen 5
G Eine C/C++ Referenz in einem Java Object speichern Allgemeine Java-Themen 5
G Referenz auf Variable! Allgemeine Java-Themen 3
F array als referenz/werteparameter übergeben? Allgemeine Java-Themen 2
M Referenz wird nicht überschrieben? Allgemeine Java-Themen 2
K Referenz löschen Allgemeine Java-Themen 3
T Exception im Constructor -> null-Referenz zurückgeben Allgemeine Java-Themen 6
I strip-debug - debug-Infos aus mitgelieferter Lib entfernen Allgemeine Java-Themen 3
E Hall vom Clip entfernen Allgemeine Java-Themen 5
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
killig Textdatei einlesen und in HashMap speichern (duplikate entfernen) Allgemeine Java-Themen 12
J Spieler aus der Spielerliste zu entfernen Allgemeine Java-Themen 0
J Spieler aus der Spielerliste entfernen in dem Spiel 17und 4 Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
R char aus String entfernen Allgemeine Java-Themen 10
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
Y ArrayListe eingegebenen index entfernen Allgemeine Java-Themen 1
S Inlining erzwingen kombiniert mit Entfernen von Imports..? Allgemeine Java-Themen 11
G JFileChooser Fokus entfernen?! Allgemeine Java-Themen 15
Neumi5694 Compiler-Fehler Konstanten entfernen während des Kompiliervorgangs Allgemeine Java-Themen 7
S Methoden "Unschöne" Break-Anweisung aus verschachtelter Funktion entfernen Allgemeine Java-Themen 11
KeVoZ_ JSoup - HTML Tag entfernen Allgemeine Java-Themen 1
mrBrown Unicode-WhiteSpaces aus String entfernen Allgemeine Java-Themen 14
S Abhaengigkeiten auf Klassenebene entfernen..? Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
J Pattern aus String entfernen Allgemeine Java-Themen 2
R Duplikate aus einer Textdatei entfernen? Allgemeine Java-Themen 20
K Input/Output störende Leerzeichen entfernen Allgemeine Java-Themen 11
J Typecast entfernen Allgemeine Java-Themen 7
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
T Hardware sicher entfernen Allgemeine Java-Themen 8
M Mehrere CRLF entfernen Allgemeine Java-Themen 13
Q "Doppelte" Einträge einer Liste entfernen Allgemeine Java-Themen 14
T Swing JTextAera Zeilenumbruch entfernen Allgemeine Java-Themen 7
X Chinesische Schriftzeichen aus String entfernen Allgemeine Java-Themen 6
T JRE komplett von einem PC entfernen? Allgemeine Java-Themen 5
J Schlüsselwörter entfernen - Wo / wie am performantesten? Allgemeine Java-Themen 3
M Klasse aus xyz.class Datei laden / package entfernen? Allgemeine Java-Themen 4
L-ectron-X Regex zum Entfernen von mehrzeiligen Kommentaren Allgemeine Java-Themen 2
E Html tags entfernen optimieren Allgemeine Java-Themen 12
G Element aus Liste entfernen Allgemeine Java-Themen 6
X Duplikate aus eigenen Datentypen entfernen Allgemeine Java-Themen 14
C Zeilenumbruch aus JTextArea entfernen Allgemeine Java-Themen 6
T Element aus Vector entfernen Allgemeine Java-Themen 4
G Mit JarSigner erstellte Signierung entfernen Allgemeine Java-Themen 8
hdi text durchsuchen -> satzzeichen entfernen Allgemeine Java-Themen 5
C Satzzeichen aus String entfernen Allgemeine Java-Themen 6
S Anonymen MouseListener entfernen? Allgemeine Java-Themen 2
R Entfernen der '..' Notation aus dem Pfad Allgemeine Java-Themen 2
G führende nullen entfernen Allgemeine Java-Themen 14
A ArrayListe :Doppelte entfernen -> keine Referenzen Allgemeine Java-Themen 26
A Leerzeichen entfernen Allgemeine Java-Themen 3
G HTML Code aus String mittels REGEX entfernen Allgemeine Java-Themen 2
L Whitespace in einer html Site entfernen Allgemeine Java-Themen 10
M Elemente aus Liste entfernen? Allgemeine Java-Themen 7
T Duplikate aus ArrayList entfernen Allgemeine Java-Themen 2
G zeilenummern entfernen Allgemeine Java-Themen 9
G Hashset einen eintrag zufällig entfernen Allgemeine Java-Themen 4
B Entfernen von Zeilen/Spalten aus einer Matrix Allgemeine Java-Themen 8
T - Zeilenumbruch entfernen Allgemeine Java-Themen 2
byte Erste Zeile einer Textdatei entfernen Allgemeine Java-Themen 5
J sonderzeichen entfernen Allgemeine Java-Themen 6
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
G Leerzeichen entfernen unter 1.3.x Allgemeine Java-Themen 5
F Dateigröße eines entfernen Images ermitteln Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben