[concurrency-interest] Object finalization

David Holmes davidcholmes at aapt.net.au
Tue May 15 16:32:11 EDT 2012


Dr Heinz M. Kabutz writes:
> Sure, the fields cannot be null, but would it be possible that they
> have already been finalized?

Yes. That has already been mentioned a few times.

David
-----

> On 15/05/2012, Bob Lee <crazybob at crazybob.org> wrote:
> > So there isn't any confusion, the original code is safe without
> null checks
> > in the finalizer. While the finalizer can run concurrently with other
> > methods, the JLS
> >
> guarantees<http://docs.oracle.com/javase/specs/jls/se7/html/jls-12
> .html#jls-12.6>that
> > the constructor will finish before the finalizer runs: "The completion
> > of an object's constructor happens-before (§17.4.5) the execution of its
> > finalize method (in the formal sense of happens-before)."
> >
> > Hans, I used your static volatile pinning trick in an experimental
> > ThreadLocal implementation I wrote. :-)
> >
> > See the "pin" field:
> >
http://code.google.com/p/google-threadlocal/source/browse/trunk/main/java/la
ng/ThreadLocal.java
>
> Bob
>


--
Dr Heinz M. Kabutz (PhD CompSci)
Author of "The Java(tm) Specialists' Newsletter"
Sun Java Champion
IEEE Certified Software Development Professional
http://www.javaspecialists.eu
Tel: +30 69 75 595 262
Skype: kabutz




More information about the Concurrency-interest mailing list