[jdk17] RFR: JDK-8225667: Clarify the behavior of System::gc w.r.t. reference processing [v2]

Mandy Chung mchung at openjdk.java.net
Fri Jul 2 17:05:02 UTC 2021


On Fri, 2 Jul 2021 08:58:35 GMT, Peter Levart <plevart at openjdk.org> wrote:

>> Well, "determine" seems to have both meanings:
>> https://www.google.com/search?q=determine
>> So by the 2nd meaning, it is good.
>
> ... and considering the "Schrödinger's cat", even the 1st interpretation is correct. You can't know whether the cat is dead or not until you "determine" it's death. This does not mean that you killed it though.

I think "determine" sounds right to me.  "detect" is another possibility but does not apply well in "this effort" as the subject.   This is another way to explain it.

During the execution, there are a number of reachability decision points.  At each reachability decision point, the references are checked. GC determines if the reachability of the referent has changed to the value corresponding to the type of the reference (softly weakly, or phantom reachable), then it clears and enqueues the reference.

-------------

PR: https://git.openjdk.java.net/jdk17/pull/183


More information about the core-libs-dev mailing list