Garbage Collection in java
<p>While isolating reference (islands of isolating) a class objects say like the below code</p>

<pre><code>public class Island {
    Island i;
    public static void main(String [] args) {
        Island i2 = new Island();
        Island i3 = new Island();
        Island i4 = new Island();
        i2.i = i3; // i2 refers to i3
        i3.i = i4; // i3 refers to i4
        i4.i = i2; // i4 refers to i2
        i2 = null;
        i3 = null;
        i4 = null;
        // do complicated, memory intensive stuff
    }
}
</code></pre>

<p>will these objects be garbage collected? How is that possible then what makes the program run if they are garbage collected?</p>
