Очередной #дайджест статей по Java: ☕️ Инструментация байт-кода Java В рамках текущей статьи рассказано о способах инструментации байт-кода java или, другим языком, внесения изменений в компилированные файлы java .class. Здесь приведены примеры работы с фреймворками Javaassist и ASM и базовое описание байт-кода. ☕️ Симуляция реальности: разбираемся в мок-серверах и пишем свой Проблематика: проблема черного ящика и почему это вообще нужно решать. ☕️ Эффективное и комплексное устранение утечек памяти в Android Про OutOfMemoryError и работу GC. ☕️ Особенности разработки автотестов различными инструментами, а также статистика по использованию Однозначным плюсом внедрения автотестов на проекте является сокращение времени на тестирование и сокращение возможности ошибки при тестировании человеком. ☕️ Добавляем поддержку пользовательского языка в IntelliJ с помощью ANTLR ☕️ Как на самом деле работает Java ClassLoader system? (с картинками) Будучи разработчиком Java, вы наверняка сталкивались с ClassNotFoundException или NoClassDefFoundError — загадочными сообщениями, которые на мгновение останавливают наш процесс разработки. Класс не найден — понятно по названию, но не найден где? Кто и как его ищет, куда доставляет? ☕️ SpringBoot и вебсокеты: едем в кластер В этой статье затронута тема горизонтального масштабирования SpringBoot-приложений, использующих вебсокеты. Основная особенность таких приложений — наличие состояния (state). Вебсокеты для работы используют постоянное TCP-соединение, собственно оно и является этим состоянием. А наличие состояния обычно вызывает проблемы при масштабировании.