Witam. Zastanawia mnie kilka rzeczy.
Jeśli mamy dwie klasy które zawierają w sobie siebie nawzajem czyli np:
- w klasie A jest obiekt przez który dostaniemy się do klasy B
- w klasie B jest obiekt przez który dostaniemy się do klasy A
i te obie klasy są wewnątrz klasy C to jeśli do klasy C pozbędziemy się wszelkich referencji to czy klasy A i B zostaną także usunięte?
Wbrew pozorom one dalej są referencjami między sobą.
Po usunięciu referencji do klasy C nie mamy dostępu do klas A i B więc logiczne byłoby je usunąć ale czy GC tak zrobi? Przecież dalej są referencjami do samych siebie.
Trzeba takie coś ręcznie null'ować jeszcze?
I drugi scenariusz. Czy jeśli posiadamy kolekcje w klasie a do tejże klasy pozbywamy się wszelkich referencji to czy kolekcje też się usuwają? Czy zostają?
Dzięki za wszelkie odpowiedzi.