Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331

Переполнение динамической памяти

26.10.2015, 15:25. Показов 2699. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если я выделил в массиве через операцию new слишком много динамической памяти. То может быть ситуация переполнения динамического буфера и мое приложение упадет с ошибкой?? При каком обьеме выделенной памяти такое может произойти??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.10.2015, 15:25
Ответы с готовыми решениями:

Пологите разобраться со сборщиком мусора! Не удаляются объекты, переполнение памяти..
Добрый день. Я только приступил к изучению Java, так что скорее всего я просто что-то делаю не так. Подскажите пожалуйста, что именно.....

Переполнение памяти функцией setSize()
Устанавливаю вектору размер 36000000 и java.lang.OutOfMemoryError: Java heap space, памяти ей выделенно 2 гига.

Должен ли общий объем графической памяти складываться из зарезервированной (фиксированной) памяти и динамической (DVMT)?
Здравствуйте. Скажите, должен ли общий объем графической памяти складываться из зарезервированной (фиксированной) памяти и динамической...

20
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.10.2015, 16:10
Цитата Сообщение от yura91 Посмотреть сообщение
То может быть ситуация переполнения динамического буфера
что это за буфер такой?
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
26.10.2015, 16:57  [ТС]
ну это имеется ввиду если я выделил для одного массива слишком много памяти (там гигабайт и тд). Это же может привести к выбросу исключения??Мое приложение может врезультате этого завершится с ошибкой??
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
26.10.2015, 17:15
Цитата Сообщение от yura91 Посмотреть сообщение
ну это имеется ввиду если я выделил для одного массива слишком много памяти (там гигабайт и тд). Это же может привести к выбросу исключения??Мое приложение может врезультате этого завершится с ошибкой??
Да, может.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
26.10.2015, 17:28  [ТС]
И какое генерируется исключение в таком случае?? Как правильно обработать эту ситуацию??Какое исключение нужно ловить в блоке catch() чтобы приложение не выбрасывало исключение в таком случае а обработать эту ситуацию??
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
26.10.2015, 17:34
Цитата Сообщение от yura91 Посмотреть сообщение
И какое генерируется исключение в таком случае??
OutOfMemory
Цитата Сообщение от yura91 Посмотреть сообщение
Как правильно обработать эту ситуацию??
Нехватку памяти правильно никак не обрабатывать, а умереть.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
26.10.2015, 17:43  [ТС]
Нехватку памяти правильно никак не обрабатывать, а умереть.
Но все равно в cath же можно перехватить OutOfMemory и вывести сообщение о нехватке памяти. И тогда приложение хотябы не будет валиться с ошибкой верно же??
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
26.10.2015, 17:49
Верно-верно.
Юра, чего ты сам ничего не читаешь и не проверяешь? Тип ошибки тебе сказали, зашел бы в документацию почитал бы хоть немного, сам бы, блин, проверил в приложении. Че лентяй какой?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
26.10.2015, 18:16
yura91, если ваша программы вылетает на OutOfMemory, добавьте памяти или перепишите программу. обычно ненадо ловить это исключение.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.10.2015, 00:39
Цитата Сообщение от yura91 Посмотреть сообщение
При каком объеме выделенной памяти такое может произойти?
Память, в которой вы можете создавать объекты называется Heap. Собственно, OutOfMemoryError бросится, когда общий объём ваших живых объектов превысит размер heap (с небольшими оговорками про GC, фрагментацию, и т. п.).
Размер хипа для Hotspot-а (Oracle JDK и openJDK) задаётся при старте JVM с помощью опции командой строки -Xmx.
Если вы не указываете эту опцию - хотспот возьмёт какое-то дефолтное значение, в зависимости от ОС и от того, сколько у вас доступно физической памяти.
0
65 / 64 / 15
Регистрация: 15.12.2013
Сообщений: 166
27.10.2015, 09:27
Цитата Сообщение от yura91 Посмотреть сообщение
Но все равно в cath же можно перехватить OutOfMemory и вывести сообщение о нехватке памяти. И тогда приложение хотябы не будет валиться с ошибкой верно же??
это unchecked exception, такие исключения никто не перехватывает.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.10.2015, 10:18
Цитата Сообщение от Эрнесто Посмотреть сообщение
это unchecked exception, такие исключения никто не перехватывает.
это вы как то странно сказали. unchecked exceptions ещё как перехватывают.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
27.10.2015, 11:43  [ТС]
Размер хипа для Hotspot-а (Oracle JDK и openJDK) задаётся при старте JVM с помощью опции командой строки -Xmx.
А если я запускаю приложение не на JVM а на реальном устройстве - андроид смартфоне, то там хип имеет фиксированный размер и я сам задавать ничего не могу верно?? Только и могу что обрабатывать и не допускать Outof Memory разве не так??
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.10.2015, 11:50
Цитата Сообщение от yura91 Посмотреть сообщение
А если я запускаю приложение не на JVM а на реальном устройстве
реальное устройство тоже запускает JVM. Можете ли вы задать там размер памяти или нет, надо смотреть по спецификации устройства. Если памяти не хватает, то либо ваша программа слишком тяжелая для устройства (что вряд ли), либо вы написали плохую программу которая ест слишком много памяти (более вероятно)
0
65 / 64 / 15
Регистрация: 15.12.2013
Сообщений: 166
27.10.2015, 11:54
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
это вы как то странно сказали. unchecked exceptions ещё как перехватывают.
а какой смысл перехватывать OutOfMemory?
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
27.10.2015, 12:15
Цитата Сообщение от Эрнесто Посмотреть сообщение
а какой смысл перехватывать OutOfMemory?
Например, завершить работу с открытыми ресурсами и завершить работу программы. Или попытаться выделить меньше памяти и работать с меньшим объемом.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.10.2015, 12:17
Цитата Сообщение от Эрнесто Посмотреть сообщение
а какой смысл перехватывать OutOfMemory?
в большинстве случаев ненадо, но из вашего поста следует что никакие unchecked exception ненадо перехватывать
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
27.10.2015, 16:58  [ТС]
Да но если вы пишете разговор с микрофона андроид в буфер приложение через AudioRecord, а разговор может быть очень долгим то соответственно вы можете столько байт записать в этот буфер что действительно сработает OutofMemory и упадет приложение вот и нужно же обработать такую ситуацию разве нет??
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.10.2015, 17:40
yura91, OutofMemory плох тем, что он может выброситься в любом потоке, вне зависимости от того какой поток больше всего аллоцирует памяти.
В вашем примере, правильней было бы, не допускать OutOfMemory, а, например, сбрасывать каждые n-секунд буфер на диск.
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
27.10.2015, 17:44
Цитата Сообщение от yura91 Посмотреть сообщение
Да но если вы пишете разговор с микрофона андроид в буфер приложение через AudioRecord, а разговор может быть очень долгим то соответственно вы можете столько байт записать в этот буфер что действительно сработает OutofMemory и упадет приложение вот и нужно же обработать такую ситуацию разве нет??
Ты бы еще все видео в буфер писал. Для чего устройства с памятью придумали? Дампай на диск.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.10.2015, 17:44
Помогаю со студенческими работами здесь

Переполнение памяти
Помогите разобраться с проблемой переполнения памяти. спустя некоторое время скрипты начинают выдавать ошибку Microsoft VBScript...

MemoryStream, переполнение памяти
Доброго времени суток, уважаемые! У меня возник вопрос следующего характера: Есть некоторый файл, сжатый через GZip (это для...

Переполнение памяти программы
Пишу программу для парсинга одного сайта. Сам сайт парсится с помощью CsQuery. Нужно за раз обработать нужный диапазон страниц сайта....

Аномальное переполнение памяти
Сделал программу для эволюционного моделирования. Агентом выступает сама программа, а средой - операционная система. Благодаря случайным...

происходит переполнение памяти ?
Пожалуйста помогите решить проблему: при компиляции ошибок нет, но при запуске выдает ошибку, я так понимаю происходит переполнение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru