Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2017, 15:26   #1
Segvek
 
Регистрация: 27.04.2017
Сообщений: 3
По умолчанию работа с heep`ом

Здравствуйте, подскажите пожалуйста. Столкнулся с такой ситеацией. Пришу програму, на некоторое етапе её выполнения необходим 1 гб ОЗУ, в куче всё выделяется всё прекрасно работает, но вот проблема заключается в том что, дальше при работе нет необходимости в той памяти которая выделена, а системе она не отдается.

Так вот вопрос как можно освободить кучу от неиспользуемой памяти, в процессе работы программы.
Segvek вне форума Ответить с цитированием
Старый 04.08.2017, 15:36   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Не держать ссылки на нее и сборщик ее уберет.
p51x вне форума Ответить с цитированием
Старый 04.08.2017, 15:44   #3
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

Вообще, если я правильно понял, то вам нужен System.gc().
Но как-то особого смысла в этом не вижу. Если уж программа использует 1гб и в системе есть это пространство, то пусть она им пользуется по необходимости. JV сама запустит очистку памяти, когда появится необходимость. Если памяти в системе мало - выделите меньше памяти для приложения(-Xmx512m, например).
alexey_kip вне форума Ответить с цитированием
Старый 04.08.2017, 15:53   #4
Segvek
 
Регистрация: 27.04.2017
Сообщений: 3
По умолчанию

программа использует много памятить только в начале, она нужна там иначе OutOfMemory, профильровщик показывает что куча почти пустая и ссылки не храню. Далше в программе не понадобится сколько памяти, но куча размером в гиг, и я зотел бы её уменьшить, так как программа сама по себе проста и недопустимо что бы такая программа на протяжении длительного времени потребляла гиг оперативы
Segvek вне форума Ответить с цитированием
Старый 04.08.2017, 18:51   #5
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

По-сути, вам нужно динамически изменять размер хипа. Насколько мне известно, в java это невозможно. Максимальный размер указывается только при запуске приложения.
alexey_kip вне форума Ответить с цитированием
Старый 04.08.2017, 18:51   #6
Segvek
 
Регистрация: 27.04.2017
Сообщений: 3
По умолчанию

Всё разобрался, нужно было сметь GC на G1
Segvek вне форума Ответить с цитированием
Старый 05.08.2017, 10:10   #7
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

И что от этого поменялось?
alexey_kip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 08:44
Работа с ems api: корректная работа только при явном указании города mrdemkin JavaScript, Ajax 3 02.03.2015 18:23
Работа с псевдослучайными последовательностями (ПСП). Работа с цветом.(Pascal) Shick Помощь студентам 7 11.12.2013 19:25
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57