java забирает много оперативку - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 14.03.2012, 15:19   #1
Аватар для Horus92
Пользователь

Автор темы (Топик Стартер) java забирает много оперативку

вообщем есть java сервер, принцип работы бесконечный цикл в котором выполняется около 30 запросов к mysql бд и обрабатываются данные, вроде бы прогамма несложная, но я понять не могу почему с каждой секундой процесс забирает по 700-800кб памяти для выполнения,разрастается в памяти и просто доходит до OutOfMemmory.
вот код который в main
http://pastebin.com/z0B6tWu4
в сообщение не влезло залил на pastebin
Horus92 вне форума Ответить с цитированием
Непрочитано 14.03.2012, 15:29   #2
Аватар для n3k0nation
Antihero

По умолчанию Re: java забирает много оперативку

Возможно дело в СОЗДАНИИ ОБЬЕКТОВ В ЦИКЛЕ?
Цитата:
new HashMap<Integer, Calendar>();
new String(rs.getString("start_time"));
Integer type=rs.getInt("type");
new User();
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
И другое.

Так же возможно следует добавить большую часть string'ов в пул или хотя бы вынести в статик зону (как вариант string builder)?

О printf мы не слышали, о создании кучи стрингов при "+" наверное тоже, о использовании preparedStatement по назначению - аналогично.
Цитата:
"UPDATE data SET start_time=\""+now.get(Calendar.YEAR)+"-"+(now.get(Calendar.MONTH)+1)+"-"+now.get(Calendar.DATE)+" "+now.get(Calendar.HOUR_OF_DAY+":"+now.get(Calenda r.MINUTE)+":"+now.get(Calendar.SECOND)+"\" WHERE type=1"

conn.prepareStatement("UPDATE users,sessions SET users.balance=users.balance+"+prize_for_one+" WHERE sessions.points="+max+" AND sessions.user_id=users.id AND sessions.type_of_game=2");

"Count of winners="+countmax+" Game prize="+prize+" Prize for one winner="+prize_for_one
"["+simpleDateformat.format(writedate.getTime()) +"] Minute Game Started"

Я бы порекомендовал удалить все это веселье и переписать с нуля.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 14.03.2012, 15:34   #3
Аватар для Horus92
Пользователь

Автор темы (Топик Стартер) Re: java забирает много оперативку

Цитата:
Сообщение от ASevenfold Посмотреть сообщение
Возможно дело в СОЗДАНИИ ОБЬЕКТОВ В ЦИКЛЕ?

И другое.

Так же возможно следует добавить большую часть string'ов в пул или хотя бы вынести в статик зону (как вариант string builder)?

О printf мы не слышали, о создании кучи стрингов при "+" наверное тоже, о использовании preparedStatement по назначению - аналогично.



Я бы порекомендовал удалить все это веселье и переписать с нуля.
ок, спасибо последую вашим советам.
отловил все баги спасибо.

Последний раз редактировалось Horus92; 14.03.2012 в 20:30.
Horus92 вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Много разных вопросов Puma1414 Lineage II 20 07.02.2012 17:15
очень много вопросов! mego4el Lineage II 3 17.08.2011 06:01
поставил блин оперативку MaRiO Операционные системы / Operating systems 13 20.05.2010 15:06
Много ошибок в ГеймСервере Forward Lineage II 0 13.03.2010 11:41
[help]Много вопросов,но нет ответов Heon Lineage II 3 30.04.2009 01:26


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:32. Часовой пояс GMT +3.

Вверх