[Java lista] ChangeListener elvi kerdes

biziclop biziclop at gmail.com
2007. Aug. 27., H, 15:08:50 CEST


Hibas az elgondolas, legalabbis szerintem.

"The Java programming language does not specify how soon a finalizer
will be invoked, except to say that it will happen before the storage
for the object is reused. Also, the language does not specify which
thread will invoke the finalizer for any given object. It is
guaranteed, however, that the thread that invokes the finalizer will
not be holding any user-visible synchronization locks when the
finalizer is invoked. If an uncaught exception is thrown during the
finalization, the exception is ignored and finalization of that object
terminates."

Ezek alapjan en semmit nem epitenek a finalise()-ra. Az maximum egy
veszmegoldasnak jo a paranoiasok szamara. A listenereket pontosan
akkor kell remove-olni, amikor mar nincs rajuk tobbet szukseg. Se
elobb, se kesobb.

lsp

On 8/27/07, Zamek <zamek at vili.pmmf.hu> wrote:
> Hello,
> Egy elvi kerdes:
>
> Egy form letrehoz egy changelistener-t egy osztalyra. Minden rendesen mukodik,
> majd close-olom a form-ot. Ilyenkor elvileg nem szunik meg a form, csak
> invisible lesz, majd a garbage collection torli, amikor torli. Ezert a form
> megszunesekor nem artana a regisztralt changelistener-t remove-olni. Beraktam
> a finalize metodusba:
>
> protected void finalize() throws Throwable {
> try {
> if (dryer != null)
> dryer.removeUpdateListener(changeListener);
> }
> finally {
> super.finalize();
> }
> }
>
> Tettem ra egy breakpoint-ot de soha nem all meg ra. Hibas az elgondolas, vagy
> nem tud megallni a finalize-n?
>
> Parameterek: Debian Linux testing, Sun Java jdk 1.6, Eclipse 3.2
>
>
> udv,
> --
> Zoltan Zidarics programmer
> PTE University Pecs, Hungary
> icq: 43288694
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról