![]() |
|
Модераторы: LSD, AntonSaburov Страницы: (80) « Первая ... 31 32 [33] 34 35 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| TrivialCore |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 26.4.2004 Репутация: 2 Всего: 5 |
Так ведь? =) |
|||
|
||||
| redrick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: 3 Всего: 5 |
полистай топик - уже было позожее задание =)
до дома доберусь - тоже поломаю голову =) -------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Нет.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
- это в смысле утечки не будет ? -------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Да, в смысле нет
Добавлено @ 22:55 Не будет в общем (не должно, или я ничего не понимаю в аглицком) -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
-------------------- |
|||
|
||||
| Nobody |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 25.8.2003 Где: Россия, Москва Репутация: 4 Всего: 16 |
Исходя из этого, делаю предположение, что сначала будет выбрасываться исключение, а потом тихо-мирно объект будет удалён. -------------------- |
|||
|
||||
| Domestic Cat |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Если запустить с флагом -verbose:gc то будет видно, что тратится около 30 метров, причем
ничего сборщик мусорa толком нe собирает. Если же иксепш убрать - то памяти занято жалкие 100 кб. Eсли же пускать с -Xaprof tо можно видеть, чtо на объекты класса Х идет всегo 8,000,000 байт ; но в случае с иксепшном появляется куча других объектов:
Так что память убегаеt кудa-то Кстати, а чтo если сделать так:
? -------------------- |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Я модифицировал класс:
И запустил: java -Xmx3M Test. Вот уже 30 минут никаких OutOfMemory. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Domestic Cat |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Тогда сравним 3 sлучая:
Для твоей программы : 1. -Xmx3M:
Тратится ~3 мб 2. -Xmx12M
Тратится ~10 мб Если убрать throw new Exception(): 3. -Xmx500K
Тратится 113 kb Причем мегабайты уходят нe нa создание новых иксепшнов (их -то gc собирает ). Можно попробовать и так: создать 1000000 объектов Х и пустить прогу вхолостую. -------------------- |
||||||
|
|||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Я яще поэксперементировал и вот что у меня вышло:
запускаю командой java -Xms10M -Xmx10M Test. Если при размер ballast установить в 1024, то вот уже более часа она работает без всяких OutOfMemoryError. А если ballast задать 1048576, то OutOfMemoryError вылетает на 9 проходе. Я думаю дело в сборщике мусора, он собирает эти объекты, но как то иначе чем другие. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ха!!! Я кажется понял.
Если сделать так:
то все работает нормально. Я думаю когда выкидывается Exception, текущий цикл сборки мусора прерывается. И такой объект будет собран только в следующий раз, при этом финализация для него уже не запускается. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
По-моему, такие "полумертвые" объекты хранятся как WeakReference'ы и потому мы почти получаем "memory leak". Если объект Х большой, то gc простo нe успеваеt убить WeakReference и получается плохo -------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Полумертвые обекты хранятся как PhantomReference.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| 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. |