Этот вопрос взят из SCJP. Нам нужно найти объекты, которые имеют право на сбор мусора. Ответ гласит c3 и рассказ. Мне нужно знать, почему его короткая история подходит для GC. Это фактически переменная экземпляра. Означает ли это, если я не использую переменные экземпляра, они имеют право на сбор мусора?Почему объект-обертка подходит для сбора мусора?
Фактический ответ в соответствии с книгой: имеет право только один объект CardBoard (c1), но имеет соответствующий объект Short wrapper, который также имеет право на участие. Таким образом, «два» объекта имеют право на участие.
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
}
}
Что бы вы ожидали от экземпляра «Short», если экземпляр «CardBoard» GCed? – arshajii
Яа это то, что я думаю, что произойдет с коротким, если C1 мусор? – user2985842