Я изучаю использование памяти в Java, чтобы понять, почему моя программа дает утечку памяти. После удаления кода в основном цикле while я все еще получаю увеличение использования памяти с течением времени. Размышляя об использовании памяти пустой программой:
class Nothing
{ public static void main(String[] args)
{ while(true); }
}
Я все еще наблюдал увеличение объема памяти:
Итак, мой вопрос: почему все еще виден зубчатый рисунок? Почему при запуске сборщика мусора не сохраняется вся память (каждый раз, когда запускается сборщик мусора (долины), используемая память увеличивается на 10–20 КБ (по сравнению с предыдущей долиной))?
РЕДАКТИРОВАТЬ:
версия java » 1.6.0_29 "
Среда выполнения Java (TM) SE (сборка 1.6.0_29-b11)
Клиентская виртуальная машина Java HotSpot (TM) (сборка 20.4-b02, смешанный режим, совместное использование)
ОС: Windows 7 Enterprise-32 bit