Создал уже 50000000 объектов котов и собак, прошло уже минуты три, код компилируется, но один фиг не вызывает метод finalize(), Задача не корректная, почему так? Либо уже новый сборщик мусора пошёл более прочуханный, чем когда то был, когда условие задачи составлялось???
Алексей
24 уровень
Вопрос
Решен
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Russle Java Developer в Intelligence Solutio
7 марта 2019, 12:07
for (int i=0; i < 50000; i++)
{
new Cat();
new Dog();
}
0
Russle Java Developer в Intelligence Solutio
7 марта 2019, 12:07
Как то так)))))
0
Алексей
27 декабря 2018, 03:32
Нужно тогда создавать объект таким образом new Cats(), без присвоения ему имени + Finalize() у меня запустился, когда задал 5 млн котов и собак
0
Алексей
26 декабря 2018, 07:32
Да код то работает правильно, задача проходит, я про то, что должен запускаться метод finalize(), а он
этого не делает
public static void main(String[] args) {
Cats[] cats = new Cats[50000000];
Dog[] psina = new Dog[50000000];
for (int i = 0; i < 50000000; i++) {
cats[i] = new Cats();
psina[i] = new Dog();
}
class Cats {
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("A Cat was destroyed");
}
}
}
0
Дмитрий СоснинExpert
26 декабря 2018, 07:36
объекты уничтожаются, только если до них невозможно добраться из кода. А в этом коде ссылки на все созданные объекты сохраняются в массивах, откуда к каждому из них можно обратиться.
+3
Ivan
26 декабря 2018, 07:21
Написал код, сколько бы программу не запускал ничего в консоль не выводится. Решил нажать проверку и программа принялась. Видимо новые версии JVM работают по другому.
0
Дмитрий СоснинExpert
26 декабря 2018, 07:34
сейчас проверил, и при 50000 попытках у меня finalize() вызывается примерно 1000 раз. возможно дело в коде.
0
Руслан Добров
26 декабря 2018, 05:41
Прикрепите к вопросу свой код и не проходящие требования валидации, чтобы можно было Вам помочь.
+2
Алексей
26 декабря 2018, 04:47
Прошло минут 10, не выдержал, остановил. Ни разу не вызвался метод.......и где эти объекты, где то там в памяти, что с ними происходит, сборщик мусора что будет с ними делать?
0