"If object obj1 can access object obj2 which is eligible for garbage collection, then obj1 is also eligible for garbage collection". I dont understand this. What is obj1 has a reachable reference, then obj2 wont be eligible anymore right?
The assumption here is obj2 is eligible for Garbage collection. This means that it cannot be referenced by any active part of the program. But it can be referenced by obj1. This means that obj1 cannot be referenced by any active part of the program either, which makes obj1 eligible for Garbage collection too. If obj1 is reachable through a reference, then obj2 will be reachable too and hence no longer eligible for gc. Maybe Marlene can explain it better. Thanks Harwinder