Return to site
JAVA CERTIFICATION QUESTION: Determining eligibility for garbage collection in Java
·
Given:
abstract class Test { JavaClass classToTest; abstract public void doTest(JavaClass classToTest); } class UnitTest extends Test { JavaClass classToUnitTest; public UnitTest(JavaClass classToTest) { this.classToTest = classToTest; } @Override public void doTest(JavaClass classToTest) { classToUnitTest = classToTest; } } class JavaClass {}
and a fragment of a test case scenario:
JavaClass c1 = new JavaClass(); // line A Test t1 = new UnitTest(c1); t1.doTest(c1); JavaClass c2 = c1; // line 1 c1 = new JavaClass(); // line 2 c2 = null; // line 3 t1.doTest(null); // line 4 System.gc(); // line 5 t1 = new UnitTest(c1); // line 6
After which line’s execution will the object created at line A become eligible for garbage collection? Choose one.
A. Line 1
B. Line 2
C. Line 3
D. Line 4
E. Line 5
F. Line 6
G. Not possible to predict, because it depends on the garbage collector (GC) implementation
·pǝʇǝๅdɯoɔ uǝǝq sɐɥ 9 ǝuᴉๅ ɹǝʇɟɐ uoᴉʇɔǝๅๅoɔ ǝɓɐqɹɐɓ ɹoɟ ǝๅqᴉɓᴉๅǝ ǝq ๅๅᴉʍ Ɐ ǝuᴉๅ ʇɐ pǝʇɐǝɹɔ ǝɔuɐʇsuᴉ ssɐๅꓛɐʌɐſ ǝɥʇ ǝsnɐɔǝq ʻꓞ sᴉ uoᴉʇdo ʇɔǝɹɹoɔ ǝɥꓕ