Мне интересно, как GC работает с объектами, хранящимися в объектах коллекции, таких как ArrayList или Hashtable.
У меня есть этот ArrayList.
ArrayList<Person> persons = new ArrayList<Person>();
persons.add(new Person("smith"));
persons.add(new Person("john"));
persons.add(new Person("harry"));
persons.add(new Person("nathan"));
Предположим, что на людей все еще ссылается другой объект, но на один из объектов Person, хранящихся в персонах ArrayList, нет ссылок.
Когда GC запускается и ищет объекты, на которые нет ссылок, собирается ли он собирать мусор для объекта Person, на который нет ссылок, или пропускать весь объект Person, потому что на этот объект по-прежнему ссылается другой объект?
Любой ответ приветствуется.