On 29/12/2020 7:15 pm, Florian Weimer wrote:
* David Holmes:

More accurately soft-references will be cleared before throwing an OOME
due to Java heap exhaustion. There are other things that can throw OOME
(like your array example, or "throw new OutOfMemoryError();") that don't
correspond to heap exhaustion and and so soft-reference clearing doesn't
enter the picture.

I think it's still a bug in the spec due to the way it is worded.

Yes:

"All soft references to softly-reachable objects are guaranteed to have been cleared before the virtual machine throws an OutOfMemoryError."

s/virtual machine/garbage collector/

Cheers,
David

Reply via email to