Почему пустая программа Java потребляет память?

Я изучаю использование памяти в Java, чтобы понять, почему моя программа дает утечку памяти. После удаления кода в основном цикле while я все еще получаю увеличение использования памяти с течением времени. Размышляя об использовании памяти пустой программой:

class Nothing
{    public static void main(String[] args)
     {    while(true);    }
}

Я все еще наблюдал увеличение объема памяти:

Image description here

Итак, мой вопрос: почему все еще виден зубчатый рисунок? Почему при запуске сборщика мусора не сохраняется вся память (каждый раз, когда запускается сборщик мусора (долины), используемая память увеличивается на 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

24
задан GoldfishGrenade 2 December 2011 в 21:37
поделиться