Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Taking out the Garbage!

 
Carol Murphy
village idiot
Bartender
Posts: 1202
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Anand Ko
Ranch Hand
Posts: 79
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are 100% correct
 
Barry Gaunt
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"I thought that the Integer object would be available after line 4, when a is set to null."

Yes, this is true. So it must be still garbage collectable after line 7 (if it has not been already collected). The other three objects the String literal "100" and the Long(100) and String("100") are still referred to. So the answer is correct (1 object) but their explanation has a glitch.
[ January 08, 2005: Message edited by: Barry Gaunt ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic