36. How many objects are eligible for garbage collection once execution has reached the line labeled Line A?
a) 0 b) 1 c) 2 d) 3 e) 4
The answer that they provide is b) 1.
My argument is that since all the assignments are made to the string objects in the string pool rather than heap, none of the objects will be eligible for GC till the class is unloaded. So I prefer to choose (a)
I disagree with that reasoning. If there are no strong references to any of those strings, there is no need to keep them interned.
Amit Batra
Ranch Hand
Joined: Mar 04, 2006
Posts: 361
posted
0
Dont worry I dont think questions like these are going to be on the exam, Mr. Bert Bates said so himself not too long ago. And you know what that means...This would also make a great interview questions
Chetan Raju
Ranch Hand
Joined: Aug 02, 2006
Posts: 109
posted
0
Mr. C Lamont Gilbert If there are no strong references to any of those strings, there is no need to keep them interned.
I agree with Mr Lamont. Neelesh: Since String literal pool also contains objects(of strings), there is no reason why they cannot be garbage collected if there are no strong references ?
Unlike most objects, String literals always have a reference to them from the String Literal Pool. That means that they always have a reference to them and are, therefore, not eligible for garbage collection.