Этот фрагмент кода из книги. Вопрос заключается в том,Сбор мусора Java 5
- сколько объектов создано
- сколько объектов имеют право на дс, когда линия // действительно достигнут материал.
Ответов, согласно книге, являются 5 и 2. Вот код:
class Dozens {
int[] dz = {1,2,3,4,5,6,7,8,9,10,11,12};
}
public class Eggs{
public static void main(String[] args){
Dozens[] da = new Dozens[3];
da[0] = new Dozens();
Dozens d = new Dozens();
da[1] = d;
d = null;
da[1] = null;
// do stuff
}
}
В ответ на первый вопрос, вы также подсчитывать ИНТ [] объект йга в виде не дополнительный объект каждый раз, когда вы создаете дюжины?
Аналогично, когда вы достигаете // делаете что-нибудь, при вычислении количества объектов, имеющих право на gc, для каждого объекта Dozens, вы также считаете объект int [] dz, содержащийся в нем?
Я не сосчитать ИНТ [] дг объектов, и пришли к ответам 5 и 3.
Может кто-нибудь объяснить, что я могу делать неправильно?
Спасибо.
Не забывайте, что объект массива создается для хранения (возможно пустых) аргументов командной строки, переданных методу 'main', и объекта String для хранения каждого аргумента командной строки (если есть). – Bobulous