Alle Referenzen auf ein Objekt ermitteln

schnuffie

Erfahrenes Mitglied
Im java.lang.ref-Package bin ich leider nicht für mein Problem fündig geworden. Dort kann man verschiedene Arten Referenzen erzeugen und dann per poll() abfragen, ob das Objekt dazu noch existiert.

Aufgrund von OutOfMemory-Error nach einer gewissen Laufzeit, wäre es extrem hilfreich, alle Referenzen, die auf ein beliebiges Objekt zeigen, aufzurufen, ohne die gesamte Anwendung umbauen zu müssen.

Ich denke so an:
Code:
Object obj = new Irgendwas("String1", 7); // z.B.
Collection c = ReferenzRaussucherHelferklasse.getAllReferenzen(obj); // so in etwa
Iterator it = c.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}

Gibt's sowas? Wie komme ich sonst noch an alle Referenzen des Objekts ran, um herauszufinden, was alles vom GC nicht wieder freigegeben wird?
 
Ist schon mal ein guter Weg. Danke.

Geht das nur bei Java 6? Scheint so, oder?
Werd' mich mal näher damit beschäftigen.

Nur so aus Neugierde: Woher weiß eigentlich der GC, ob ein Objekt noch Referenzen hat oder nicht? Der Quellcode von java.lang.Object brachte mich da auch noch nicht weiter.
 
Zurück