Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.08.13;
Скачать: CL | DM;

Вниз

Как вы относитесь к использованию меток в Delphi?   Найти похожие ветки 

 
Юрий Зотов ©   (2016-05-29 12:34) [120]

> DVM ©   (29.05.16 11:48) [119]

> Мне кажется, если в программе возникает OutOfMemory - это
> повод задуматься об алгоритмах и архитектуре программы,
> а не добавлять недокументированные костыли.
> Может я конечно не прав и в мире Java все не так.


Прав, естественно. Только ошибку сначала надо локализовать, не так ли?


 
DVM ©   (2016-05-29 18:14) [121]


> Юрий Зотов ©   (29.05.16 12:34) [120]


> Только ошибку сначала надо локализовать, не так ли?

Разумеется, причем все такие места, т.к. их может быть не одно. Но как в этом поможет упомянутая freeMemory мне правда не понятно. Она скорее даже навредит, замаскировывая проблему. Плюс ее вызов, вероятно, приводит к некоторому замедлению работы программы из-за принудительной сборки мусора, если таковая имеет быть.


 
DayGaykin ©   (2016-05-29 19:31) [122]


> Юрий Зотов ©   (26.05.16 23:09) [109]
>

Интересно, почему Java сама не сделала сборку мусора, когда память закончилась.


 
Юрий Зотов ©   (2016-05-29 19:37) [123]

> Но как в этом поможет упомянутая freeMemory мне правда не
> понятно.


Надо же было как-то понять, где конкретно съедается много памяти.

>  Плюс ее вызов, вероятно, приводит к некоторому замедлению
> работы программы и


При отладке это не имеет значения.

> почему Java сама не сделала сборку мусора,

Сам удивился.


 
Crysis ©   (2016-05-29 23:42) [124]

Удалено модератором
Примечание: Создание пустых сообщений


 
Плохиш ©   (2016-05-30 00:47) [125]


> Интересно, почему Java сама не сделала сборку мусора, когда
> память закончилась.

Сборка мусора имеет наименьший приоритет, поэтому она выполняется в моменты, когда программе ну совсем нечем заняться. Кстати, об этом в документации и по яве и по визуальной студии написано.
В общем-то, по этой причине и сделаны функции принудительного запуска сборщика.


 
jack128 ©   (2016-05-30 21:23) [126]


> поэтому она выполняется в моменты, когда программе ну совсем
> нечем заняться

то есть такой простой код
while(true) { new Object(); }
на джаве с аут оф мемори упадет?


 
картман ©   (2016-06-01 09:27) [127]


> Сборка мусора имеет наименьший приоритет

в отдельном потоке он


> то есть такой простой код
> while(true) { new Object(); }
> на джаве с аут оф мемори упадет?

нет, такой упадет:

ArrayList list = new ArrayList();
while(true) {
 list.add(new Object());
}


 
Кщд ©   (2016-06-01 13:35) [128]

Плохиш ©   (30.05.16 00:47) [125]
нету в Java принудительной сборке
есть gc(), но ее вызов НЕ ГАРАНТИРУЕТ запуска сборщика



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2017.08.13;
Скачать: CL | DM;

Наверх




Память: 0.74 MB
Время: 0.022 c
2-1443091187
Andrey K
2015-09-24 13:39
2017.08.13
Как заблокировать клавишу?


2-1427136740
NovichoK2
2015-03-23 21:52
2017.08.13
освобождение строковых параметров класса


15-1464384606
Юрий
2016-05-28 00:30
2017.08.13
С днем рождения ! 28 мая 2016 суббота


2-1426513998
dmk
2015-03-16 16:53
2017.08.13
Возможно ли имея имя класса в переменной обратится


2-1422502870
Drowsy
2015-01-29 06:41
2017.08.13
Вычисляемые поля ДатаСета.