Multiple choice

class X2 { public X2 x; public static void main(String [] args) { X2 x2 = new X2(); /* Line 6 / X2 x3 = new X2(); / Line 7 / x2.x = x3; x3.x = x2; x2 = new X2(); x3 = x2; / Line 11 */ doComplexStuff(); } } after line 11 runs, how many objects are eligible for garbage collection?

  1. 0

  2. 1

  3. 2

  4. 3

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

This is an example of the islands of isolated objects. By the time line 11 has run, the objects instantiated in lines 6 and 7 are referring to each other, but no live thread can reach either of them.