RFR 9: 8165641 : Deprecate Object.finalize

Hans Boehm hboehm at google.com
Sat Mar 11 02:15:51 UTC 2017


IIUC, all of the replacements for finalizers (Cleaners, PhantomReferences)
still have the problem that they can't easily share a single thread across
separately-developed libraries to actually run the cleanups? It seems to me
that has been the only even halfway-convincing reason to still use
finalizers for a long time, but it seems to be a pretty good one in
practice.


On Fri, Mar 10, 2017 at 5:36 PM, Kim Barrett <kim.barrett at oracle.com> wrote:

> > On Mar 10, 2017, at 4:40 PM, Roger Riggs <roger.riggs at oracle.com> wrote:
> >
> > Finalizers are inherently problematic and their use can lead to
> performance issues,
> > deadlocks, hangs, and other problematic behavior.
> >
> > The problems have been accumulating for many years and the first step to
> > deprecate Object.finalize and the overrides in the JDK to communicate the
> > issues, recommend alternatives, and motivate changes where finalization
> is currently used.
> >
> > The behavior of finalization nor any uses of finalize are not modified
> by this change.
> > Most of the changes are to suppress compilation warnings within the JDK.
> >
> > Please review and comment.
> >
> > Webrev:
> > http://cr.openjdk.java.net/~rriggs/webrev-finalize-deprecate-8165641/
> >
> > Issue:
> >   https://bugs.openjdk.java.net/browse/JDK-8165641
> >
> > Thanks, Roger
>
> looks good.
>
>
>


More information about the core-libs-dev mailing list