powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / ArrayList коллекции память
25 сообщений из 25, страница 1 из 1
ArrayList коллекции память
    #39919370
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет

Подскажите, нужно ли очищать коллекции по завершении работы с ними. Чтобы память не засорялась, или мусоросборщик и так её (коллекцию) грохнет?
Может быть просто занулить и достаточно, а стирать через clear не нужно?
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919375
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лишних действий делать не нужно. Код должен следовать принципу некой лаконичности и простоты. Типа принципа Оккама.
Нужно их (коллекции) очищать только по бизнес-событиям. Тоесть если тебе эта-же коллекция нужна повторно
в этом же code-block.

Единственный поинт - надо пристально смотреть за коллекциями которые лежат в static - полях.
Обычно они являются проблемой т.к. автоматически их GC не может убрать. И эти коллекции
иногда являются проблемой типа memory-leak. Сюда-же до кучи - синглтоны и бины которые
просто живут очень долго (пользовательская сессия) до суток.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919380
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Лишних действий делать не нужно. Код должен следовать принципу некой лаконичности и простоты. Типа принципа Оккама.
Нужно их (коллекции) очищать только по бизнес-событиям. Тоесть если тебе эта-же коллекция нужна повторно
в этом же code-block.

то есть, если в этом блоке не нужна, то занулять? правильно понял? Но если блок когда-то будет вызван повторно, то по любому эта коллекция будет создана новым объектом?
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919384
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar
Но если блок когда-то будет вызван повторно
пример где повторного вызова блока кода?
Новенький программист?
А то ты завершил работу или не завершил?
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919386
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar, покажи свой код.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919387
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Korcar
Но если блок когда-то будет вызван повторно
пример где повторного вызова блока кода?

поясни. не понял вопроса. тебе хорошо бы русский язык подучить, закрыть, так сказать, прорехи в школьном образовании. И не тяни с этим делом, а то через них последние имеющиеся у тебя знания вывалятся)))
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919388
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
Сначала твой код. Просим.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919391
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Korcar, покажи свой код.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
ArrayList<String> cars = new ArrayList<String>();
    cars.add("машинка 1");
    cars.add("машинка 2");
    cars.add("машинка 3");
    cars.add("машинка 4");
    for (String i : cars) {
      System.out.println(i);
    }


как-то так, но данных в коллекции будет больше


ps: Петька, видишь, не все такие вредные, как ты. Мэйтон хороший. Мэйтон по теме отвечает, а не лишь бы что. Мэйтон помогает
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919392
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда ссылка покидает область фигурных скобочек - она обнуляется с точки зрения рантайма.
И GC ее имеет право убрать. Но есть нюансы. Была ли она скопирована. Куда. И так далее.

Код: java
1.
2.
3.
{
    List list = new ArrayList();
}



Вот почему мы спрашиваем код.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919394
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar
по завершении работы с ними
программисты говорят - локальная переменная
Korcar
занулить

Это термин электрика - зануление на землю
Korcar
блок когда-то будет вызван повторно,

См. п. 1 работу завершил? Локальная?
...
Ну и код ждем.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919395
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar

как-то так, но данных в коллекции будет больше

Ты привел не весь код. Что идет после цикла for? Это важно.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919396
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar
Петька, видишь, не все такие вредные, как ты. Мэйтон хороший. Мэйтон по теме отвечает, а не лишь бы что. Мэйтон помогает
да. Я злой следователь, он добрый.
Это для тебя ничего не меняет. Работай!
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919397
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,

https://habr.com/ru/post/485750/
пункт 10
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919407
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Korcar

как-то так, но данных в коллекции будет больше

Ты привел не весь код. Что идет после цикла for? Это важно.

после цикла for ничего не идет. конец сервлета. Разница реальной проги с приведенным листингом только в том, что в коллекцию будут накидываться данные не вручную прописанные, а из парсинга строки. А в цикле, кроме вывода элементов множества будет проставляться плюсик наличия (строкой)

И вывод не в системный лог, конешн, а в
Код: java
1.
PrintWriter out = response.getWriter();


способом типа
Код: java
1.
2.
3.
for (String i : cars) {
      out.println(i);
    }


то есть то, что сервлетом будет отдаваться.
прост этого кода еще нет. условия проставления плюсиков уточняются
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919408
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Korcar
по завершении работы с ними
программисты говорят - локальная переменная
Korcar
занулить

Это термин электрика - зануление на землю
Korcar
блок когда-то будет вызван повторно,

См. п. 1 работу завершил? Локальная?
...
Ну и код ждем.

Петька, у тебя как всегда, много текста и весь мимо кассы темы топика. Тебе заняться больше нечем? Иди русский язык поучи, пригодится в жизни))
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919409
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Korcar,

https://habr.com/ru/post/485750/
пункт 10


автор10. Cleaner

Появился в: Java 9
у меня java 8 ...
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919411
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
Ты не отвлекайся. Болтун.
Про плюсики расскажи.
А коллекцию занулять))) не надо.
Каждый вызов новая на 0,1 сек.
Хоть 100 раз про петю пиши.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919415
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar
у меня java 8 ...
try-with-resources
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919421
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar, давай я тебе подскажу универсальную методику. Запускаешь своё приложение
и потом его-же мониторишь через jvisualvm.

Если график old-gen (зеленый) вырос и устаканился - то проблем нет. Твоё приложение достигло футпринта
и больше не скушает.



Если график old-gen монотонно растет через час и через сутки и через неделю - в твоём приложении есть проблема. И ее надо лечить.

Это - главное. Все что касается игр с обнулением ссылки. Не надо делать лишних дейстий! Потому
что у коллег и у тех кто делает code-review твои игры с ссылками могут вызвать еще больше вопросов
и ты станешь в позу доказывающего. А доказать пользу от обнуления ссылки тяжело. Поэтому вывод. Пока old-gen не растет
ничего делать не надо!

Приши чистый код без лишних действий.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919422
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar
много текста и весь мимо кассы темы топика.
на другом форуме банят за то что молчал про севлеты и за то что счас молчишь про плюсики.
Ждем.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919439
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, окей. спасибо. посмотрю

PetroNotC Sharp, жди) а за баны - это все твоя болтология
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919449
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcar,
И всё?
Выдохся?
Я же говорю, вопросы у тебя первого класса, а разговоров про петю и болтовни как у профессора.
Благодари всех кто помог и научись таки закрывать топик.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919468
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
и научись таки закрывать топик.
На форуме появился новый функционал?
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919482
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
PetroNotC Sharp
и научись таки закрывать топик.
На форуме появился новый функционал?
ты выпал из контекста.
Тут учат хорошему тону. Ты меня, я тебя и он нас.
...
Рейтинг: 0 / 0
ArrayList коллекции память
    #39919618
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда не помогает и чтение газетТут должен был быть тег cарказм
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ArrayList коллекции память
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]