Hi Martin,
True, calling System.gc() and then checking for its hoped-for/expected
side-effects is the norm.
But its robustness depends on a combination of gc implementation
behavior and
the particular side-effect expected: allocation, reference processing, etc.
Roger
On 05/30/2019 01:30 PM, Martin Buchholz wrote:
If you are calling System.gc() for correctness (e.g. in a test), it is
probably because some sort of finalization is being triggered. And
that happens in some Java thread (e.g. Reference Handler) that
System.gc() has no control over. So in practice, users need to call
System.gc() and then wait for subsequent reference processing somehow.