TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.81K subscribers
Post #1652 2.33K
Управление памятью Java: Сборка мусора

𝟏) Что такое сборка мусора
Сборка мусора (GC) — это автоматизированный процессдля освобождения памяти путем удаления объектов, которые больше не нужны или на которые не ссылается приложение. Это помогает предотвратить утечки памяти и обеспечивает эффективную работу приложения.

𝟐) Как она работает?
В основе сборки мусора в Java лежит алгоритм Mark and Sweep (отметить и убрать):

🔹𝗠𝗮𝗿𝗸: GC начинает с корневых ссылок (таких как статические переменные, активные потоки и стеки методов) и помечает все достижимые объекты как «используемые».
🔹𝗦𝘄𝗲𝗲𝗽: Затем GC сканирует кучу на предмет объектов, не помеченных как «используемые», и освобождает их память, делая ее доступной для новых выделений.

𝟑) Когда выполняется сборка мусора?
Сборщик мусора может быть запущен автоматически JVM в следующих случаях:
🔹 Куча заполнена или близка к заполнению.
🔹 Куча старого поколения достигает порога.
🔹 Область памяти PermGen/Metaspace заполнена (в зависимости от версии Java).
🔹 Вручную вызван метод System.gc()

𝟒) Сборка мусора для поколений
Современные JVM делят кучу на поколения (молодые, старые и иногда ряд других). Большинство объектов умирают молодыми, поэтому GC фокусируется на молодом поколении для частой и быстрой очистки, в то время как старые объекты собираются реже, но более тщательно.

𝟓) Оптимизация
После очистки некоторые сборщики уплотняют память, перемещая активные объекты вместе, что снижает фрагментацию и ускоряет выделение памяти для новых объектов.

𝟔) Почему это важно?
Автоматическая сборка мусора освобождает разработчиков от ручного управления памятью (в отличие от C/C++), уменьшая количество ошибок, таких как утечки памяти и висячие указатели, и позволяя вам сосредоточиться на создании функций, а не на отслеживании памяти.

#java
  • 👍 16
  • 🔥 5
  • ❤ 3
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →