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