Разработка java | SEclub.org
Разработка java
Все новые
Всего сообщений: 7795
*
Alice Cooper
21 июн 2010 в 10:45
!eee, а что же за задача такая, для которой heap не хватает?
*
cHeRsAnYa1
21 июн 2010 в 10:52
!eee, а тебе в эмуле хипа тоже не хватает? Если хватает, то может и не вызываться сборщик.
*
ImIeee
21 июн 2010 в 11:03
Alice Cooper, дело в том, что приходится постоянно изменять размер массива, и старые массивы будут накапливаться.
*
cHeRsAnYa1
21 июн 2010 в 11:06
!eee, они будут копиться в памяти только пока её хватает, и то не факт. Как только следующему массиву не будет хватать памяти, включится gc, который и освободит память (если конечно физически её хватает).
*
ImIeee
21 июн 2010 в 11:24
cHeRsAnYa1, да, ты прав, сборщик работает, однако netbeans все равно 0 показывает. Наверное, баг.
21 июн 2010 в 11:24 / ImIeee (1)
*
cHeRsAnYa1
21 июн 2010 в 11:26
!eee, включи в эмуле график занятой памяти, там ясно видно, когда gc срабатывает.
*
ImIeee
21 июн 2010 в 11:31
cHeRsAnYa1, у меня в эмуле нет этого (только кнопка launch и вверху в меню тоже нет). Я имею ввиду строку в output - 0 garbage collections (0 bytes collected)
*
Malcolm
21 июн 2010 в 11:33
!eee, seclub.org/forum/goto/11340056/ - gc() точно гарантирует вызов сборщика, иначе метод вообще терял бы смысл. Что касается C и C++, то да, ручное управление быстрее, только тебе надо о нем постоянно думать и писать дополнительный код. А если вдруг забудешь, у тебя сразу начнутся проблемы в виде утечки памяти, источник которых сложно установить.
*
ImIeee
21 июн 2010 в 11:44
Malcolm, проверил: Object b=new Object(); Object a=b; b=null; System.gc(); System.out.println(a.toString()); - работает.
*
cHeRsAnYa1
21 июн 2010 в 11:46
!eee, дык всё нормально, b теперь равно null.
21 июн 2010 в 11:46 / cHeRsAnYa1 (1)
*
ImIeee
21 июн 2010 в 11:51
cHeRsAnYa1, ну так a указывает на этот же объект. Хотя если сборщик удаляет только объекты, на которые никто не указывает, то, наверное, нереально проверить. // Ну да, он так и делает :(
21 июн 2010 в 11:58 / ImIeee (1)
*
cHeRsAnYa1
21 июн 2010 в 12:00
!eee, конечно только те, на которые нет ссылок совсем. Иначе бац - и ни с того ни с сего переменная null стала ))) А проверить легко - seclub.org/forum/goto/11340442/
21 июн 2010 в 12:01 / cHeRsAnYa1 (1)
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Общие вопросы | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026