Веб-версияОткрыть в Telegram

Пост🔥 Java: subList() может неожиданно удерживать огромный список в памяти

2 сентября 2026
J
Java Books
🔥 Java: subList() может неожиданно удерживать огромный список в памяти Кажется, что: List<Item> small = hugeList.subList(0, 10); hugeList = null; оставит только 10 элементов. Но subList() обычно создаёт представление исходного списка, а не независимую копию. Пока жив small, исходный ArrayList и его внутренний массив тоже могут оставаться в памяти. Если нужна отдельная маленькая коллекция: List<Item> small = new ArrayList<>(hugeList.subList(0, 10)); Особенно неприятный баг в кэшах и долгоживущих объектах: сохраняешь 10 элементов — а в памяти остаются сотни тысяч.
12 · 1.6K ·

Рядом в ленте

JJava BooksПолезный Java-совет: Не вызывай parallelStream() просто потому, что данных много. Для коротких операций он легко оказывается медленнее обычного stream(), потомуJJava BooksJava-ловушка: почему `parallelStream()` может замедлить приложение Многие думают: «Есть stream(), добавлю parallelStream() — станет быстрее». Но не всегда. para
это сообщение
JJava Books⚡️ «Контейнеры - это просто Linux-процессы» - полезное упрощение, но не совсем правда Обычно контейнер объясняют так: > контейнер = обычный Linux-процесс + nameJJava BooksШкола программирования Java Online Projects поздравляет с Днем Знаний!🧑‍🎓📚 Вышло наше финальное занятие курса по Микросервисной архитектуре — «Нагрузочное тести

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем