Forums Register Login

Question from Practice exams

+Pie Number of slices to send: Send
Hi,



The answer is:
At GC point 1 -> 3 objects are eligible for GC.
At GC point 2 -> 0 objects are eligible for GC.

I understand, second anser. But I feel the first answer should be => 2 objects are eligible for GC.

Larsen.



+Pie Number of slices to send: Send
Nope. The answer is 3. Why do you think it should be 2?
+Pie Number of slices to send: Send
Hi Larsen,

At GC point 2, there are two object eligible for GC (f1 and f2), so, option 2 is not the answer.

Now, GC point 1 comes after GC point 2, and at GC point 1, another object is eligible for GC(the one created by new Fiji()), so, at GC point 1, three objects are eligible for GC.
+Pie Number of slices to send: Send
Well, at point 2 there are no object eligible, because the two objects created in the go() method are still reachable. As soon as the method returns though, they become unreachable.

You're correct about point 1 though.
+Pie Number of slices to send: Send
Hi Stephan,

At last statement of method go()

So, both objects created in method go() are now unreachable, and hence eligible for GC, right?
+Pie Number of slices to send: Send
No, f3 still has a reference to the object that was referenced by f2, and that object's f field references the object that was initially assigned to f1.
+Pie Number of slices to send: Send
Yes Stephan, you are right. I missed it

f3 refers to f1.f, so f1 is not eligible for gc. Further, f1.f refers to f2, so f2 also is not eligible for gc. So... is it that both options are correct (i.e. no object is eligible for gc at GC point 2)?

Need to brush up gc fundamentals again
+Pie Number of slices to send: Send
Got it. Just ignored the simple fact. Since nothing is returned from the method, all the objects created in the method should be available for GC. Additionally, nothing is persisted in the static field. Thank you guys.


Larsen.
A day job? In an office? My worst nightmare! Comfort me tiny ad!
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 974 times.
Similar Threads
Garbage Collection question
Objects eligible for GC
SCJP for Java 6, Garbage Collection question
Exam prep question
K&B ch-3 Ques-2
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 08:43:32.