![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
доброе утро =)
народ, встретился недавно вот с такой проблемой: мой "аппликатион" стал немного подтормаживать и даже в некоротых (неопределённых местах) подвисать.. при этом выделилось следующее: если с "аппликатион" работать медленно.. то есть.. нажать кнопку -> действие -> немного подождать (сек. 5- ... ).. нажать - подождать -> ТО ВСЁ РАБОТАЕТ ЗАМЕЧАТЕЛьНО я думаю это связано как-то с памятью и GARBAGE_COLLECTOR, который не успевает очищать старые ресурсы.. можно ли натравить GARBAGE_COLLECTOR на какие-либо ресурсы? например, пользовался ЭТОЙ переменной, классом -> он мне больше не нужен, очистька его сразу.. и ещё на это тему:
p1 будет переписана? или для неё выделяються специальные ресурсы если выделяются -> можно ли как-то решить происходящую из за этого проблему с памятью? заранее паси |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Для p1 будет выделен скорее всего новый кусок памяти.
Ведь вызов GC - дело дорогое и частые вызовы делать не выгодно. Вполне может быт, что тормоза идут из-за того, что памяти мало и GC начинает пытаться освобождать "вторую генерацию" (т.е. те объекты, которые уже раз "пережили" CG) А это действительно процедура более долгая. Советовать что-либо сложно. Попробуй поиграть с настройками JVM - увеличить память, уменьшить пероди вызова GC. Внутри может попробовать что-то поубирать. |
|||
|
||||
| polosatij |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
можно ли переписать старый?
могу ли я его натравить сразу на те ресурсы что не нужны мне? и ведь знаю какие ресурсы мне больше не нужны
ты не подскажешь: где мне их найти хотя с другой стороны, мой "аппликатион" не для меня, а для другий пользователей.. и поэтому мне нужно всё сделать для стандартных настроек.. |
||||||
|
|||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Сделай метод setЧтоНибудь(), который переустановит все необходимые поля, как будто обьект создан снова. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| polosatij |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
да.. но ресурс старого то остаётся в памяти, а это и есть моя проблема понимаешь? setЧтоНибудь () - это тоже самое что и
|
||||
|
|||||
| AntonSaburov |
|
||||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Это уже от тебя не зависит. Тут как JVM решит, так и будет.
Нет, на конкретный мусор натравить нельзя. Можно только на все сразу
Например тут можно посмотреть Tuning Garbage Collection with the 1.4.2 JavaTM Virtual Machine |
||||||
|
|||||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
почему или точнее - из за чего |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
А как раз по ссылочке, которую я дал можно это узнать. Вообще освобождение памяти - дело дорогое. Помню были соревнования понаписанию самого быстрого allocate(). Там же не просто указатель сунул в зубы. Там же ведется список свободных и занятых областей. А когда освобождаешь память удаля.тся записи из внутренних таблиц, в которых это все храниться. Кроме того надо пробежать по всем ссылкам и проверить их доступность. А это долгий процесс. Сравнительно. |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |