недавно, из любопытства, я написал программу на Java, которая очень быстро занимает много памяти. (Он добавляет BufferedImages в arraylist в цикле.)
Я держал Системный монитор Windows открытым, чтобы наблюдать использование оперативной памяти, как он работал.
когда я запустил программу, использование оперативной памяти поднялся очень быстро, и, как он достиг около 100% моего 6 ГБ оперативной памяти, Мой компьютер стал очень медленно. Примерно через минуту мне удалось завершить программу, и мой компьютер медленно восстановленная скорость. Что привлекло мое внимание, так это то, что использование памяти сначала медленно падало, а затем внезапно опустилось почти до 0 МБ, прежде чем вернуться к использованию в режиме ожидания около 2-2.5 ГБ.
Я сделал скриншот использования оперативной памяти в системном мониторе:
Мне было интересно, может ли кто-нибудь объяснить, что происходит, когда у компьютера заканчивается память и почему он не возвращается в режим ожидания сразу после окончания программы, а скорее около 60 секунд? Кроме того, почему использование идет полностью вниз к нулю, а не просто простаивает использование?