Shenandoah — это высокопроизводительный сборщик мусора с низкими задержками, разработанный компанией Red Hat и впервые внедрённый в OpenJDK. Он был создан с целью минимизировать задержки на протяжении работы приложения, что особенно важно для приложений с высокими требованиями к производительности и отзывчивости. В новом переводе от команды Spring АйО рассмотрим основные особенности Shenandoah, его работу, настройку и примеры использования. Читать далее
Несмотря на то, что мы уже успели достаточно подробно рассмотреть целых шесть сборщиков мусора (Serial, Parallel, CMS, G1, ZGC, Epsilon), у OpenJDK еще есть, что нам предложить. Эта статья посвящена Shenandoah, тому самому сборщику, "который смог" (с таким слоганом он обычно подается).Действительно ли он…
В прошлом я уже публиковал детальный разбор кода сборщика мусора CPython, однако стоит также дать более высокоуровневое объяснение механизмов управления памятью в CPython, не затрагивая сам код. Этому и будет посвящена данная статья. Статья в основном будет посвящена циклическому сборщику мусора (GC), как и когда он запускается и его влиянию на производительность приложений. Читать далее
Уверен, многие замечали: стоит программе активно выделять объекты в куче, как сборщик мусора тут как тут. Пара лишних мегабайт и ваше приложение уже тратит время на паузы GC, вместо того чтобы радовать пользователей скоростью. Сегодня речь пойдёт про пул объектов, шаблон проектирования, позволяющий переиспользовать уже созданные экземпляры, вместо того чтобы порождать их заново. Меньше новых объектов и меньше работы сборщику мусора. Читать далее