The following question is from a mock exam. 1.String string1 = "Test"; 2.String string2 = "Today"; 3.string1 = null; 4.string1 = string2; How many objects will be garbage collected after Line//4. The answer given is 1 But i think the answer should be 0
I guess some of the mock exams consider String literals to be String objects and that is why we see this kind of questions coming up. I can only hope that SCJP doesn't do it.
Friends, whether it is on heap or string pool, it still occupies memory correct, which needs to reclaimed, so what is wrong in reclaiming those unused memories of string pool. otherwise string pool will go out of memory after some time. i welcome explanations which can through further light on the topic.
G there is nothing wrong in memory reclamation, just that String objects created in the pool are not GC'ed but the objects created on the heap are. Pick up a bone with Sun people if you have any problems with that. I a'int getting into that fight.
The wording was bad for me. At first I thought it should be two because AFTER line 4 string1 and string2 will "disppear" like local variables should. Anyways, hopefully the exam will be more clear.