Ich habe einen Cache, der WeakReferences zu den gecachten Objekten verwendet, um sie automatisch aus dem Cache zu entfernen, wenn der Speicher knapp wird. Mein Problem ist, dass die zwischengespeicherten Objekte sehr bald nach ihrer Speicherung im Cache abgeholt werden. Der Cache läuft in einer 64-Bit Anwendung und obwohl noch mehr als 4gig Speicher zur Verfügung stehen, werden alle gecachten Objekte abgeholt (sie befinden sich zu diesem Zeitpunkt normalerweise im G2-Heap). Es gibt keine manuell ausgelöste Garbage Collection, wie der Prozess-Explorer zeigt.
Welche Methoden kann ich anwenden, um die Objekte ein wenig länger leben zu lassen?