Ještě bych doplnil: pokud potřebuji použít finalizér, tak správné řešení je použít PhantomReference a speciální vlákno (daemon) které mi provádí úklid.
Kamil Podlešák 2010/1/26 Ladislav Thon <[email protected]>: > GC slouží k automatické správě _paměti_ a jenom paměti. Byly sice snahy > napasovat to i na ostatní zdroje (ve Swingu se nevyznám, ale třeba JDBC je > ukázkový příklad), ale ukázalo se, že je s tím víc problémů než užitku > (deadlocky v JDBC driverech). > > Možná, že ve Swingu to lze nějak bezpečně zařídit, ale obecně je spoléhání > se na finalizéry při uvolňování zdrojů Špatné (TM). > > LT > > 2010/1/26 Ondra Medek <[email protected]> >> >> K cemu je potom GC a cely ten tezkotonazni aparat? >> >> Pro reseni uklidu toho Window IMHO staci WeakReference a propadne >> finalize() a je to. >> >> 2010/1/26 Ladislav Thon <[email protected]>: >> >> Tak objekt v pameti furt visi. To nepovazuji za stastne reseni. Priste >> >> abych u kazde tridy louskal manual, jestli nahodou nema specialni >> >> metodu, kterou musim volat, nez objekt prestanu pouzivat. >> > >> > To ovšem musíte stejně. Na finalizér se nemůžete spoléhat, nikdo vám >> > nezaručí, že vůbec někdy bude zavolán. Uklízet po sobě je slušnost nejen >> > doma v obejváku :-) >> > >> > LT >> > >> >> >> >> -- >> Ondra Medek > >
