RFR 9: 8165641 : Deprecate Object.finalize
Kim Barrett
kim.barrett at oracle.com
Mon Mar 13 19:25:09 UTC 2017
> On Mar 11, 2017, at 1:56 PM, Hans Boehm <hboehm at google.com> wrote:
> Stepping back, I'm a little surprised at the deprecation. In my opinion,
> the problems with finalizers are, in rough order of significance:
I think an important difference between finalize and other
j.l.r.Reference-based cleanups that hasn't been mentioned is that
finalization is not cancellable. If one creates creates a finalizable
object and explicitly "closes" it when done with it, there is no way
to avoid the later finalization processing that will ultimately be a
very expensive nop. For an example of this problem, see
https://issues.apache.org/jira/browse/HDFS-8562
Extending finalization as suggested there seems to me to be feature
creep on a facility that we already heavily denigrate and would prefer
didn't exist.
More information about the core-libs-dev
mailing list