If I have two objects on the heap referring to each other but they are not linking to any reference variable then are those objects eligible for garbage collection?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Yes, they are. Basically the GC walks from ‘known roots’ (static variables, local variables from all stack frames in alll threads) to find objects which can’t be garbage collected. If there’s no way of getting to an object from a root, it’s eligible for collection.
EDIT: Tom pointed this out, which I thought was worth lifting into the answer itself:
The difference is likely to be irrelevant most of the time, but it’s good to know 🙂