import java.lang.ref.WeakReference;

public class SiklusTerungut {
    static class Node {
        Node tetangga;
    }

    public static void main(String[] args) {
        Node a = new Node();
        Node b = new Node();
        a.tetangga = b; // a menunjuk b
        b.tetangga = a; // b menunjuk a: terbentuk siklus

        WeakReference<Node> pengamatA = new WeakReference<>(a);
        WeakReference<Node> pengamatB = new WeakReference<>(b);

        a = null; // kedua referensi luar dilepas
        b = null; // objek saling menunjuk satu sama lain
        System.gc();

        System.out.println("pengamatA.get() = " + pengamatA.get());
        System.out.println("pengamatB.get() = " + pengamatB.get());
    }
}
