RE: JavaMemoryModel: Finalizer question

From: David Holmes (
Date: Tue Apr 20 2004 - 19:47:43 EDT

Bill Pugh wrote:
> The point is that most finalizers are not synchronized.
> So declaring them all to be broken is a big step we'd like to avoid.

Finalizers are a pain. However their execution is also intricately tied to
the GC implementation. Putting synchronization in the finalize() method only
addresses half the problem - there is no defined happens-before edge between
"complete constructon" and invocation of finalize(), nor between the last
invocation of a method on an object and the finalize() method. However there
must be some implicit happens-before edges induced by the GC.

But short of some text and some hand-waving, I'm not clear on exactly what
is being proposed for finalizers ??

David Holmes

JavaMemoryModel mailing list -

This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:01:05 EDT