The pool of strings kept by the class String is not the cause that string literals are not g.ced The string objects computed from compile-constant expressions (JLS15.28) may reside on such pool(*); but, they are pointed to by the constant pool of the class declaring the string literals. Thus only downloading (from the JVM) the class where the string literals were declared, it is possible to make them eligible for g.c.
Fortunately this is not a subject for the exam.
(*) I am not saying that literals string objects reside in such a pool. This pool could be just a set of references pointing to the real objects. I do not really know about it. I can only say that objects are in the heap.
[ March 01, 2003: Message edited by: Jose Botella ]