posted 8 years ago
hi guys the quest below is on SCJP book Page 284 question 11;
the question is until the code to do stuff() how many objects are eligable for GC
answer is 1
can some one tell me which is the one object to be GC and how to work it out.
thanks very much.
ps: my understance is there will be only 5 objects created which are a1,b1, a2,b2. and alpha static instance, and the instance field in Alpha "Beta b2" will just inital to null when Alpha object is created. a1.b2 and a2.b2 are just references to object b1 and b2 respectively, therefore when a1 assign to null only object a1 is eligable to GC, am I correct?
the question is until the code to do stuff() how many objects are eligable for GC
answer is 1
can some one tell me which is the one object to be GC and how to work it out.
thanks very much.
ps: my understance is there will be only 5 objects created which are a1,b1, a2,b2. and alpha static instance, and the instance field in Alpha "Beta b2" will just inital to null when Alpha object is created. a1.b2 and a2.b2 are just references to object b1 and b2 respectively, therefore when a1 assign to null only object a1 is eligable to GC, am I correct?
SCJP 1.6 in 2010
SCWCD5 in 2011
posted 8 years ago
Try to make a drawing for yourself with on one side the objects, the other side the references and in the middle arrows to connect the references with the objects. Then walk through the code and change the arrows. Once you're done you'll know which objects are eligible. But remember that Alpha.b2 is static.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --- Martin Fowler
Please correct my English.
posted 8 years ago
This question has been discussed a lot of times before. See these threads
http://www.coderanch.com/t/481398/Programmer-Certification-SCJP/certification/many-eligible-gc
http://www.coderanch.com/t/474980/Programmer-Certification-SCJP/certification/Garbage-Collection-Clarification
http://www.coderanch.com/t/469606/Programmer-Certification-SCJP/certification/Garbage-Collection
http://www.coderanch.com/t/481398/Programmer-Certification-SCJP/certification/many-eligible-gc
http://www.coderanch.com/t/474980/Programmer-Certification-SCJP/certification/Garbage-Collection-Clarification
http://www.coderanch.com/t/469606/Programmer-Certification-SCJP/certification/Garbage-Collection
SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links