[Перевод] Самый простой способ устроить утечку памяти в Java
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java.Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока.Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличив...
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java.Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока.Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space.В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.
Связанные теги
Компании и люди
Линия сюжета
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Оптимизация пагинации и бесконечного скролла для поисковиков
Каталог на 50 000 товаров, а в индексе поисковиков – 3000. Знакомая картина? Чаще всего причина не в качестве контента, а в том, как реализована навигация по страницам категорий...
Как построить банк на 130 миллионов клиентов с помощью Clojure, иммутабельного графа и закона Конвея
Я в качестве хобби последний год строю собственную платформу на Clojure и DataScript. Иногда об этом рассказываю коллегам и когда меня спрашивают, зачем банку функциональное про...
Обзор учебно-тренировочной электронной платы JZ-F407VET6
В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6.Это простая и дешевая PCB часто выручает при прототипировании и отладке программных компонентов.
Мой фреймворк для агентной разработки с Claude Code
Год назад я проникся идеей вайбкодинга и начал разбираться, как бы организовать процесс так, чтобы на выходе получалось что-то полезное.В итоге собрал свой фреймворк агентной ра...
Как я автоматизировал управление информацией и оптимизировал рабочие процессы. История Sapiens OS
Если вы ведете несколько проектов одновременно, вы знаете проблему управления информацией. Мысль пришла в голову — записал куда-то. Через месяц пытаешься вспомнить: где это было...
[Перевод] Создаём брандмауэр при помощи eBPF и контрольных групп
Технология eBPF — интересная штука. С её помощью можно без труда внедрять в ядро Linux фрагменты кода, которые затем компилируются в коды операций (опкоды), которые гарантирован...
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Оптимизация пагинации и бесконечного скролла для поисковиков
Каталог на 50 000 товаров, а в индексе поисковиков – 3000. Знакомая картина? Чаще всего причина не в качестве контента, а в том, как реализована навигация по страницам категорий...
Как построить банк на 130 миллионов клиентов с помощью Clojure, иммутабельного графа и закона Конвея
Я в качестве хобби последний год строю собственную платформу на Clojure и DataScript. Иногда об этом рассказываю коллегам и когда меня спрашивают, зачем банку функциональное про...
Обзор учебно-тренировочной электронной платы JZ-F407VET6
В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6.Это простая и дешевая PCB часто выручает при прототипировании и отладке программных компонентов.
Мой фреймворк для агентной разработки с Claude Code
Год назад я проникся идеей вайбкодинга и начал разбираться, как бы организовать процесс так, чтобы на выходе получалось что-то полезное.В итоге собрал свой фреймворк агентной ра...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Оптимизация пагинации и бесконечного скролла для поисковиков
Каталог на 50 000 товаров, а в индексе поисковиков – 3000. Знакомая картина? Чаще всего причина не в качестве контента, а в том, как реализована навигация по страницам категорий...
Как построить банк на 130 миллионов клиентов с помощью Clojure, иммутабельного графа и закона Конвея
Я в качестве хобби последний год строю собственную платформу на Clojure и DataScript. Иногда об этом рассказываю коллегам и когда меня спрашивают, зачем банку функциональное про...
Обзор учебно-тренировочной электронной платы JZ-F407VET6
В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6.Это простая и дешевая PCB часто выручает при прототипировании и отладке программных компонентов.
Мой фреймворк для агентной разработки с Claude Code
Год назад я проникся идеей вайбкодинга и начал разбираться, как бы организовать процесс так, чтобы на выходе получалось что-то полезное.В итоге собрал свой фреймворк агентной ра...
Дополнительное покрытие этой темы
Похожие публикации и близкие по смыслу материалы по этой же теме.
Семь вещей, которые нельзя делать из-за стирания типов в Java
Мы, разработчики на Java, используем параметризованные типы каждый день: List, Map, Optional и так далее. Однако у параметризованных типов есть важная особенность: в Java они су...
[Перевод] Основные элементы экосистемы JavaScript по состоянию на 2026 год
Ранее мы писали похожие статьи о CSS, но JavaScript заслуживает не меньшего внимания! Тем более что JavaScript лучше справляется с версионированием. Мы рассмотрим новые возможно...
Я написал симулятор квантового поля на Java. Вот что из этого вышло
Одним вечером я решил проверить: что если взять решётку из 10 000 узлов, задать одно правило передачи энергии между соседями — и просто запустить? Никакой теоретической физики и...
Утечки памяти в замыканиях JavaScript
В предыдущей статье мы подробно рассмотрели замыкания в JavaScript, а сейчас изучим как из-за них возникают утечки памяти и как этого избежать.Замыкание существует пока, есть хо...