RFR 8220238 : Enhancing j.l.Runtime/System::gc specification with an explicit 'no guarantee' statement

Roman Kennke rkennke at redhat.com
Thu May 30 10:27:58 UTC 2019


>> Any other comments on:
>> "* Runs the garbage collector in the Java Virtual Machine.
>> * <p>
>> * Calling this method suggests that the Java Virtual Machine
>> * expend effort toward recycling unused objects in order to
>> * make the memory they currently occupy available for reuse
>> * by the Java Virtual Machine.
> 
> The following two statements...
> 
> 1st:
>> * When control returns from the method call, the Java Virtual Machine
>> * has made a best effort to reclaim space from all discarded objects.
> 
> 2nd:
>> * There is no guarantee that this effort will recycle any particular
>> * number of unused objects, reclaim any particular amount of space,
>> * *or complete* at any particular time, if *at all*.
>> " 
> 
> ...makes one think that it is OK (by the spec) for System.gc() to never
> complete.
> 
> Could it rather be specified that System.gc() eventually completes?
> 

+1 I was thinking the same.

I think the intention is that GC may never actually complete, but
System.gc() must be guaranteed to eventually return.

Roman



More information about the core-libs-dev mailing list