I was wondering how the garbage collector in Java deals with the following situation.
Object A has a reference to Object B and Object B has a reference to Object C. The main program has a reference to Object A. So you can use Object B trough Object A, and Object C trough Object B trough Object A.
What happens to Object B and Object C, if the link between Object A and Object B is set to null?
Should Object B and Object C now been collected by the Garbage Collector? I mean there is still a connection between Object B and Object C.
Should Object B and Object C now been collected by the Garbage Collector?
Yes. Well, they are candidates for collection because there's no way to reach Object B and C through the root that is A.
Yes, B and C are eligible for garbage collection, if they can't be reached from any GC root (GC roots are usually all Threads and all references on the stack).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With