Mam dotaz trochu mimo tema. Zaujala me poznamka o problemech s
deadlocky v JDBC driverech v souvislosti s GC. Vim, ze mohu pouzit google,
nemate vsak nejaky odkaz, na clanek popisujici tento problem?
Diky
Honza
Ladislav Thon napsal(a):
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] <mailto:[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] <mailto:[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