Предположим, что у меня есть приложение Swings Java, Я установил минимальную кучу 64 МБ и максимальную кучу 2 ГБ, , когда пользователь запустит приложение, появится экран регистрации , в настоящее время приложение использует 64 МБ, права? Из моей Windows 7 я вижу, что приложение Java выделено 64MB из монитора ресурсов памяти ОС (на самом деле это больше, чем 64 МБ, потому что для работы JVM требуется некоторая память для его задачи).Освободить Java-память для ОС во время выполнения.
После этого пользователь выполняет очень тяжелую работу, тогда приложение использует 2G. После этого пользователь выйдет из приложения, экран регистрации снова отобразится (приложение еще не закрыто). В это время реальная память, что приложение использует 64 МБ (предположим, что это идеальное приложение для управления памятью), , но с ОС это приложение все еще использует 2G ОЗУ, я могу видеть его на мониторе ресурсов ОС.
Я хочу, чтобы мое приложение освобождало память для ОС, когда ей не нужно использовать большую память. Могу ли я сделать это во время выполнения с помощью java-приложения?
Я имею в виду, когда мое приложение нужно использовать 64Мб ОЗУ, то ОС дает ему 64Мб только когда это нужно 2 Гб оперативной памяти, то ОС дает ему 2 ГБ, после этого ему потребуется 64 Мб оперативной памяти, то ОС дает ему 64MB только снова, Я не хочу, чтобы он тратил 2000MB - 64MB = 1936MB.
Могу ли я это сделать?
Спасибо,
Проверьте этот вопрос: http://stackoverflow.com/q/1481178/562906 – sinelaw