garbage collector & cache - oczyszczanie podczas odśmiecania

Odpowiedz Nowy wątek
2011-08-30 11:32
0

Witam.
Czy istnieje sposób na zrobienie automatycznego oczyszczania cache w momencie odśmiecania pamięci?? Interesowała by mnie metoda podobna do finalize() ale wywoływana podczas każdego odśmiecania albo jakiś inny sposób aby to zrobić.

Konkretniej z klasy pomocniczej cache, chciałbym automatycznie usuwać cachedObject.

public class Cache <T extends Object>{
 
    T cachedObject;
 
    public T get(){
        return cachedObject;
    }
 
    public Cache set(T setobject){
        cachedObject = setobject;
        return this;
    }
 
}

Java is to JavaScript as ham is to hamster

Pozostało 580 znaków

2011-08-30 11:55

W Cache powinna znajdować się SoftReference do obiektu. W momencie usunięcia właściwego obiektu zniknie on z cache w momencie gdy zacznie brakować pamięci (w przeciwieństwie do WeakReference, która znika wraz z oryginalnym obiektem).
http://download.oracle.com/ja[...]a/lang/ref/SoftReference.html
Jeżeli chcesz usuwać od ręki w momencie usuwania oryginalnego obiektu użyj WeakReference:
http://download.oracle.com/ja[...]a/lang/ref/WeakReference.html

Pozostało 580 znaków

2011-08-30 12:53
0

Dzięki za pomoc :)


Java is to JavaScript as ham is to hamster

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0