Lightweight finalization for the JDK without any drawbacks was: Why is finalize wrong?
jaroslav.tulach at oracle.com
Thu Aug 7 07:43:43 UTC 2014
Dne Čt 7. srpna 2014 08:17:16, Andrew Haley napsal(a):
> I'm wondering whether it's really worth your time applying band-aids to
> a broken mechanism.
Under the assumption WeakReference and ReferenceQueue are flawless, there is no
reason to call a mechanism based on WeakReference and ReferenceQueue synergy
> An object can be
> "really gone" even when one of its instance methods is still executing.
That would probably signal a major flaw in the JVM. In any case, this is
orthogonal to the discussion I am leading. I am operating on the assumption
that the new APIs which were designed to replace Object.finalize - e.g.
WeakReference and ReferenceQueue & co. are flawless.
> On 06/08/14 11:17, Jaroslav Tulach wrote:
> > Sure, but that cannot happen with activeQueue() as the referent is really
> > gone before appropriate Reference.run() is executed.
> I'm sure that it can happen, in just the same way.
You are more than welcomed to prove your claim and report bug to JDK. I'd say.
More information about the core-libs-dev