Во время учебы в OCJP я столкнулся со следующим вопросом:
class CardBoard {
Short story = 200;
CardBoard go(CardBoard cb) {
cb = null;
return cb;
}
public static void main(String[] args) {
CardBoard c1 = new CardBoard();
CardBoard c2 = new CardBoard();
CardBoard c3 = c1.go(c2);
c1 = null;
// do Stuff
}}
Когда достигается //doStuff, сколько объектов подходит для GC?
Правильный ответ — 2, что означает c1
и его story
объект.
Когда достигается строка //doStuff, c3 также имеет значение null. Почему он тоже не подходит для GC?