This is from Whizlabs tutorial for the certificaton exam. I don't follow the explanation for the sample code. To me, there should be 1 object available for gc after line 4. Here's the code:
Garbage collection
Exercise page 5 of 5
Question:
How many objects will be eligible for garbage collection after line 7?
Choices:
A. 0
B. 1
C. 2
D. 3
E. Code does not compile
Correct choice:
B
Explanation:
Among the three objects created in lines 1, 2, and 3, only the Integer object is eligible for garbage collection at the end of line 7. The reference variable a, which originally referred to the Integer object is made to refer to the
String object in line 5. So the Integer object is eligible for garbage collection after line 5, since there are no variables referring to it. The variables b and c refer to the String and Long objects in lines 6 and 7, so they are not eligible for garbage collection.
I thought that the Integer object would be available after line 4, when a is set to null. Am I wrong, or is the answer wrong?
[ January 08, 2005: Message edited by: Barry Gaunt ]