Hi,

A reasonably complete treatment of finalizers and suggestions for correct
use are in Josh Bloch' Effective Java. It may be a bit dated but is a good start for the casual reader.

Josh provided an excerpt:
http://www.informit.com/articles/article.aspx?p=1216151&seqNum=7

There is a lot more to do to design better APIs and mechanisms for the most
difficult cases. Project Panama is working on some of them and more than a few
ideas are being developed (as noted in earlier emails).

Roger


On 3/13/2017 9:07 AM, Doug Lea wrote:
On 03/12/2017 07:55 PM, Hans Boehm wrote:

But I think we agree that it doesn't matter for this discussion; neither of these problems are addressed by deprecating finalizers. PhantomReferences
have exactly the same issues. ...

The motivation seems more along the lines of "denigration" vs
deprecation. But even if so, I agree with Hans's implicit claim that
it might be better to thoroughly document all the issues encountered
when using finalization and/or PhantomReferences and/or cleaners, etc.
This coverage will necessarily convey the high expertise required to
implement and use them effectively, and to not use them otherwise.
Currently no single authoritative account exists, so a lot of
errors are due to confusion or ignorance. Doing better would seem
to be the highest priority. But maybe adding deprecation warnings
on top of this will have some beneficial effect. So, like Hans,
I'm not completely opposed to this, but not excited either.

-Doug




Reply via email to