In java, what is an unreachable object? When does the object become unreachable? While studying garbage collection i was not able to understand this concept.
Can anyone give any ideas with examples?
Question&Answers:osIn java, what is an unreachable object? When does the object become unreachable? While studying garbage collection i was not able to understand this concept.
Can anyone give any ideas with examples?
Question&Answers:osWhen there are no longer any reference variables referring to it, OR when it is orphaned in an island.
An island being an object that has a reference variable pointing to it, however that object has no reference variables pointing to it.
class A { int i = 5; }
class B { A a = new A(); }
class C {
B b;
public static void main(String args[]) {
C c = new C();
c.b = new B();
// instance of A, B, and C created
c.b = null;
// instance of B and A eligible to be garbage collected.
}
EDIT: Just want to point out that even though the instance of A has a reference, it is on an island now because the instance of B does not have a reference to it. The A instance is eligible for garbage collection.