From Boone Exam: Which statement about g.c are true?Select all valid answers? a>you can directly free the memory allocated by an object b>you can directly run the g.c when I want c>g.c informs your object when it is about to be garbage collected. d>g.c reclaims an object's memory as soon as it becomes a candidate for garbage collection. e>g.c runs in low memory situations. Ans: b,c But my answer was c,e. If we use System.gc() ,is it g.c thread forced to run immediately but no garbage collection takes place until it is eligible by some random manipulation of memory management?My idea was g.c thread will run when eligible only eve if we use System.gc().
And e is wrong too, since there is no guarantee that this will be the case. There is no specification as how to implement the GC. Running the GC in low-memory situation can be implemented by one JVM provider but another provider may have another heuristic.