RFR 9: JDK-8146028 : Common Cleaner for finalization replacements in java.base

Alan Bateman Alan.Bateman at oracle.com
Wed Jan 6 15:32:28 UTC 2016

On 05/01/2016 18:24, Roger Riggs wrote:
> The follow on work to adding the Cleaner is to replace uses of 
> finalization with uses of the Cleaner.
> For the 'easy' cases in the java.base module, it is useful to 
> introduce a private Cleaner for the
> java.base module.  It is proposed to be held weakly, to allow it to 
> terminate on a lightly loaded
> system.
> Webrev for Review:
> http://cr.openjdk.java.net/~rriggs/webrev-cleaning-factory-8146028/
This looks okay but can't commonCleaner be final?

> The 2nd step is using the Cleaner.
>  - Empty finalize methods should (I think) be removed; but since they 
> are part of the public spec
>    the process needs two full releases; so the proposal is to 
> deprecate them first.
>    (The JEP 277 necessary changes will be updated when JEP 277 
> semantics are finalized)
I assume some of these could just be removed - for example 
SocketInputStream/SocketOutputStream are package private and aren't part 
of the API. But maybe you mean that you don't want to touch some java.* 


More information about the core-libs-dev mailing list