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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2012, 16:02   #1
Horus92
Форумчанин
 
Аватар для Horus92
 
Регистрация: 04.05.2009
Сообщений: 147
По умолчанию java забирает много оперативку

вообщем есть java сервер, принцип работы бесконечный цикл в котором выполняется около 30 запросов к mysql бд и обрабатываются данные, вроде бы прогамма несложная, но я понять не могу почему с каждой секундой процесс забирает по 700-800кб памяти для выполнения , разрастается в памяти и просто доходит до OutOfMemmory.
вот код который в main
http://pastebin.com/z0B6tWu4
в сообщение не влезло залил на pastebin

Последний раз редактировалось Horus92; 14.03.2012 в 16:19.
Horus92 вне форума Ответить с цитированием
Старый 14.03.2012, 17:19   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...память говорите отъедает ...у вас в бесконечном цикле идет создание объекта, а чистите где (а какая версия JVM?):
Цитата:
Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.03.2012, 22:02   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

java не требует освобождения памяти, там же сборщик, но вот вопрос в другом что могут быть использованы объекты, которые имеют возможность освобождения ресурсов, тогда стоит это делать, а не ждать тика сборки мусора.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2012, 14:09   #4
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

[offtop]Я был наслышан о том, что сборщик мусора - это рулёзная фишка. Разве такое возможно?[/offtop]
ЗЫ: Пригодится мне для моих будущих java-программ.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 15.03.2012, 14:18   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

возможно что?
сборщик мусора или Out of Memory?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2012, 15:33   #6
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Out of Memory. Я случайно заглянул и спросил...
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 15.03.2012, 16:02   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

сборка мусора это процесс периодический, а не постоянный, вот и причина.
если между тиками сборщика запросить много памяти, то её не хватит, при этом сразу после сборки память будет(я такое на телефоне наблюдал, там то мало памяти).

кстати, ТС, помоему же есть возможность руками вызвать сборку.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2012, 16:20   #8
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

2Пепел Феникса Благодарю! Я, вообщем, при разработке на сборщик обращать внимания не буду, думаю будет лучше
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 15.03.2012, 16:44   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как видите игнорировать порою плохо, да и разные задачи бывают.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.03.2012, 18:26   #10
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Хорошо

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
как видите игнорировать порою плохо, да и разные задачи бывают.
После C++ мне будет лучше сделать new - delete, не перестраиваясь под сборщик
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что забирает память? trafbite Общие вопросы Delphi 9 03.03.2012 14:24
Запихнуть файл БД Sqlite в оперативку ebuchiysayt_ebuchi БД в Delphi 0 07.03.2011 12:18
Распаковывание в оперативку Haladdin Общие вопросы Delphi 2 31.12.2010 23:25
Мое приложение жрет оперативку cowboy Общие вопросы Delphi 15 21.08.2009 15:20
можно ли вылечить оперативку? Don_Omar Компьютерное железо 16 23.03.2009 14:27