Spring АйО
Русскоязычное сообщество Spring-разработчиков. Habr: bit.ly/433IK46 YouTube: bit.ly/4h3Ci0x VK: bit.ly/4hF0OG8 Rutube: bit.ly/4b4UeX6 Яндекс Музыка: bit.ly/3EIizWy Чат для общения: @spring_aio_chat По вопросам сотрудничества: @befayer
显示更多📈 Telegram 频道 Spring АйО 的分析概览
频道 Spring АйО (@spring_aio) 是活跃参与者。目前社区聚集了 10 943 名订阅者,在 技术与应用 类别中位列第 11 249,并在 俄罗斯 地区排名第 58 243 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 943 名订阅者。
根据 30 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 56,过去 24 小时变化为 -6,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 52.86%。内容发布后 24 小时内通常能获得 22.38% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 5 785 次浏览,首日通常累积 2 449 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 43。
- 主题关注点: 内容集中在 айо, хабр, api, jep, amplicode 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Русскоязычное сообщество Spring-разработчиков.
Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy
Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer”
凭借高频更新(最新数据采集于 31 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
正在加载数据
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 31 十月 | +1 | |||
| 30 十月 | 0 | |||
| 29 十月 | +2 | |||
| 28 十月 | 0 | |||
| 27 十月 | +1 | |||
| 26 十月 | +2 | |||
| 25 十月 | +2 | |||
| 24 十月 | +1 | |||
| 23 十月 | +5 | |||
| 22 十月 | +1 | |||
| 21 十月 | +7 | |||
| 20 十月 | +6 | |||
| 19 十月 | +2 | |||
| 18 十月 | +1 | |||
| 17 十月 | +3 | |||
| 16 十月 | +8 | |||
| 15 十月 | +5 | |||
| 14 十月 | +18 | |||
| 13 十月 | +6 | |||
| 12 十月 | +7 | |||
| 11 十月 | +8 | |||
| 10 十月 | +4 | |||
| 09 十月 | +5 | |||
| 08 十月 | +4 | |||
| 07 十月 | +6 | |||
| 06 十月 | +5 | |||
| 05 十月 | +10 | |||
| 04 十月 | +4 | |||
| 03 十月 | +5 | |||
| 02 十月 | +8 | |||
| 01 十月 | +6 |
| 2 | 🪨 Прод начинается там, где заканчивается магия
Наши эксперты Михаил Поливаха и Евгений Сулейманов выступили с двумя практическими разборами для JVM Dev.
• Евгений показал, как Redis сначала спасает latency, а потом незаметно начинает влиять на консистентность, права доступа, релизы и отказоустойчивость. Внутри Spring Boot, PostgreSQL, код, метрики и проблемы, которые обычно приходят уже после фразы «давайте просто добавим кэш».
🤩 СМОТРЕТЬ НА YOUTUBE
• Михаил разобрал Spring Data JDBC на примере open-source проекта Axelix. Как проектировать агрегаты, не портить доменную модель и при этом не проигрывать в производительности.
🤩 СМОТРЕТЬ НА YOUTUBE
Приятного просмотра! | 2 815 |
| 3 | 😶 Java упала до первого лога. Виноват AOT-кэш
Docker-образ собрали на процессоре с AVX или SVE. JDK 25 сохранила CPU-специфичные адаптеры в AOT-кэш, а затем попыталась выполнить их на машине без этих инструкций. Результат получился на удивление нативным для Java-приложения — SIGILL.
В статье разбираем путь от ~AdapterBlob в крэш-логе до бага в OpenJDK. А ещё показываем, как собрать переносимый multi-arch образ, сохранить ускорение старта и не играть в лотерею с процессорами CI-раннеров.
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1100616/ | 3 268 |
| 4 | 🍃 Spring обошёл авторизацию, Java ускоряется, интерфейсы не нужны? | Spring АйО Подкаст №77
😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ НА VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS
💬 Аудио версию подкаста можно найти в комментариях | 3 829 |
| 5 | 🧑💻 Мы вынесли Actuator на отдельный порт и потеряли авторизацию
Конфигурация самая обычная: бизнес-API на 8080, Actuator на 8081. Так делают очень многие, и это хорошая практика.
Но у наших друзей из Axelix при такой настройке Actuator endpoints принимали запросы без JWT-токена. Фильтр при этом был, проверка подписи работала безупречно, просто запрос тайно проходил IAM.
Виноват механизм, который живёт в Spring уже лет двадцать и про который в эпоху Spring Boot многие забыли: иерархия ApplicationContext.
В статье разбираем:
- кто кого видит в иерархии контекстов и почему parent не знает о своих детях;
- почему «видеть бин» не значит «использовать его»;
- что на самом деле меняет management.server.port;
- как Axelix закрыл уязвимость.
⚠️ Полезно всем, кто выносит Actuator на отдельный порт или пишет свои стартеры
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1099408/ | 4 283 |
| 6 | 🐸 JDK 28 перестает дегать MALLOC по каждой мелочи
Arena.ofConfined() получит пулы для небольших сегментов. Вместо постоянных вызовов malloc и free JDK сможет повторно использовать блоки памяти.
В микробенчмарках выделение 5–20 байт ускорилось в 6,8–18,9 раза. Код менять не придётся, а прежние гарантии безопасности сохранятся.
В новом переводе разбираемся, как устроена оптимизация и кому она принесёт пользу.
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1098450/ | 5 017 |
| 7 | 😈 Преждевременная оптимизация не всегда зло
Все знают фразу Дональда Кнута:
«Преждевременная оптимизация — корень всех зол».
Но обычно цитату обрывают слишком рано. Кнут предлагал забыть о небольшом выигрыше в 97% случаев, но не упускать возможности в оставшихся критически важных 3%.
Иногда для них не нужны профилировщик и чёрная магия. Достаточно не компилировать регулярку при каждом вызове, не искать постоянно по List, когда нужен Set, и не создавать новые строки ради сравнения без учёта регистра.
В статье разобрали простые приёмы для строк, коллекций, enum и инициализации объектов. Код становится не только быстрее, но и понятнее. Редкое и приятное совпадение.
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1097566/ | 5 070 |
| 8 | 🍃 AI захватил конференции, почему Kotlin переобулся, статика — зло | Spring АйО Подкаст №76
😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ НА VK ВИДЕО
🥰 Чуть позже...
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS
💬 Аудио версию подкаста можно найти в комментариях | 5 035 |
| 9 | ⚡️ Meta Harness OpenIDE: комментарии, новые агенты и много исправлений
Поправили зависания, работу больших чатов и много мелочей в интерфейсе, а в каталог агентов добавили «Астра ИИ Код», SourceCraft от Яндекса, Koda CLI и ещё больше десятка агентов.
Главная новинка – комментарии для AI: можно выделить фрагмент кода или ответа агента, написать, что нужно изменить, и собрать замечания в одну пачку либо сразу отправить правку в выбранный или новый чат.
В коротком видео показываем, как это работает прямо в IDE.
Скачивайте свежий релиз OpenIDE Pro и два месяца пользуйтесь всеми её возможностями бесплатно и без ограничений.
https://openide.ru/download | 4 500 |
| 10 | 🔄 Переход Java 21 → 25. Где искать грабли
Просто поменять версию в pom.xml может быть недостаточно.
На JDK 25 могут перестать запускаться процессоры аннотаций, сломаться старые параметры JVM и измениться разбор дат. Иногда приложение упадёт сразу. Иногда проблема всплывёт позже, что даже веселее.
В новом переводе собрали реальные несовместимости и проверки, которые стоит выполнить до переезда.
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1096850/ | 4 531 |
| 11 | Netflix ускорила ИИ-агентов с помощью IntelliJ IDEA
Netflix подключила Claude Code и Codex к движку анализа кода JetBrains и теперь агенты могут работать с индексом проекта и зависимостей вместо раскопок в JAR-файлах через декомпиляцию и grep.
На реальных Java и Kotlin проектах расход времени и токенов снизился в среднем на 20–30%, а лучший результат достиг 65%.
Вывод простой. Даже умной модели полезно сначала нормально показать код.
🔗 Статья на Хабр
🔗 Исследование JetBrains и Netflix | 4 954 |
| 12 | 😀 Joker 2026 && Spring АйО 🍃
Два дня в Петербурге пролетели быстрее, чем прогрев JVM. Доклады, дискуссии, Java, Spring, ИИ-агенты и, главное, много живого общения.
Спасибо всем, кто подошёл познакомиться, поговорить и обсудить происходящее в нашем уютном энтерпрайзе. Были рады увидеть старых знакомых и встретить новых.
Joker 2026 завершился, а впечатления остались. До новых встреч на конференциях!
❤️️️️️️️ И как всегда, спасибо Jug Ru Group за организацию. Все как всегда на высшем уровне! | 7 522 |
| 13 | 🎬 Записи докладов с JPoint 2026 уже в открытом доступе
JUG Ru Group выложили записи с прошедшего JPoint 2026. Мы собрали в одном посте доклады Spring-трека, который курировала
команда Spring АйО.
🔐 Илья Николаев — Передаём секреты в Spring Boot-бины безопасно СМОТРЕТЬ НА YOUTUBE
🛡 Михаил Поливаха — Axelix. Delta Force для экосистемы Spring Boot СМОТРЕТЬ НА YOUTUBE
🧩 Никита Кириллов — Beyond @SpringBootApplication: создание собственных экосистем поверх Spring Boot СМОТРЕТЬ НА YOUTUBE
📈 Рустам Курамшин — Мониторь это. Как писать свои метрики для Micrometer и Grafana СМОТРЕТЬ НА YOUTUBE
🗄 Артемий Дегтярев — Spring Data JDBC: где мы находимся сейчас СМОТРЕТЬ НА YOUTUBE
👀 Пять докладов - от безопасной работы с секретами до собственных экосистем поверх Spring Boot. Хватит на пару вечеров.
💬 Какой доклад зашёл больше всего? Пишите в комментариях | 6 851 |
| 14 | 👩💻 Kotlin получил почти настоящие статики
Начиная с Kotlin 2.5.0-Beta1 можно экспериментировать с блоками-компаньонами.
data class Vector(val x: Double, val y: Double) {
companion {
val ZERO = Vector(0.0, 0.0)
}
}
Выглядит как companion object, только без object. На JVM содержимое такого блока компилируется в статические члены. Никакого отдельного объекта и меньше церемоний при работе с Java.
Ещё интереснее companion extensions. Они позволяют добавить член любому Kotlin- или Java-классу, даже если у него нет собственного компаньона.
companion fun Vector.unit(angle: Double) =
Vector(cos(angle), sin(angle))
Вызывать можно привычно через Vector.unit(...).
Существующие companion object никуда не исчезают. Они по-прежнему нужны, если компаньон должен реализовать интерфейс или обладать собственной идентичностью.
Для экспериментов нужен флаг -Xcompanion-blocks-and-extensions. Только учитывайте, что расширения-компаньоны пока создают pre-release-бинарники. Тащить их в публичную библиотеку рановато. 🙅♂️
🔗 Наш перевод на Хабр
🔗 Анонс JetBrains
🔗 KEEP | 6 329 |
| 15 | 🍃 Spring Boot ломает совместимость, G1 тормозит микросервисы, Java долго релизит фичи | Spring АйО Подкаст №75
😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ НА VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS
💬 Аудио версию подкаста можно найти в комментариях | 5 559 |
| 16 | 👩💻 Spring Config Import без магии
У наших друзей из Axelix вышла статья о том, как Spring Boot грузит внешнюю для себя конфигурацию, например из Spring Cloud Config сервера или из Hashicorp Vault.
Статья про EnvironmentPostProcessor побудила довольно большое обсуждение вокруг темы того:
- Как Spring грузит конфигурацию в целом?
- При чём тут bootstrap.yaml и BootstrapContext?
- Что кардинально поменялось?
- И в чём же такая особенность spring.config.import и почему она требует особого внимания?
⚠️ Полезно всем, кто хоть раз пытался понять, откуда Spring взял конкретное значение
🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1091064/ | 6 266 |
| 17 | 🥲 В Java 27 TLS научился переживать квантовую атаку
При установке HTTPS-соединения клиент и сервер создают общий секрет. Затем с его помощью шифруется передаваемый трафик.
Современные алгоритмы обмена ключами считаются надёжными для обычных компьютеров. Но достаточно мощный квантовый компьютер сможет их взломать. Есть атака, которая называется harvest now, decrypt later. Трафик перехватывают сегодня, а расшифровывают через несколько лет.
Так вот JEP 527 добавил в Java 27 гибридный обмен ключами для TLS 1.3. Основная схема называется X25519MLKEM768. Она объединяет классический X25519 и постквантовый ML-KEM-768.
Секрет зависит от обоих алгоритмов. Даже если один из них когда-нибудь взломают, второй продолжит защищать соединение.
Клиент на JDK 27 по умолчанию предлагает серверу две схемы. Новую гибридную и обычную X25519. Если сервер поддерживает гибридную, используется она. Если нет, TLS продолжает работать по старой схеме.
Для нас, как для Spring-разработчиков приятно то, что при использовании стандартного javax.net.ssl защита включается по умолчанию. На код никак не влияет, если приложение не переопределяет список TLS-групп.
👀 Получается редкий апгрейд безопасности, который можно получить простым обновлением JDK. Правда, защищает он не от квантового компьютера сегодня, а от слишком хитрого запасливого злоумышленника.
🔗 Подробнее о JEP 527 | 6 326 |
| 18 | ⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным?
Про это — трек «Замысел» 15 октября. Во второй день Joker, посвященный разработке будущего. О том, как человек понимает, почему он называет что-то проблемой, и формулирует свою цель, а не ту, что навязана ему извне. Теперь это общая работа для всех ролей, от разработчика до CEO: шаблонными решениями и готовыми схемами думает модель.
В карточках к посту рассказываем, почему так получилось, и показываем доклады из трека: спикеры расскажут, о чем нужно подумать еще до постановки задачи, и чем будет заниматься новый тип инженера — Context Engineer.
К дискуссиям после докладов — собираем ваши кейсы. Напишите в комментариях поста, если у вас бывало такое:
— агент час работал не над той задачей, потому что задача была сформулирована плохо;
— ускорение одного этапа не сдвинуло общий срок;
— узким местом оказалась не модель или инфраструктура, а знание, которое никто не записал.
Joker 2026 — 14–15 октября, Санкт-Петербург и онлайн.
🌟По промокоду springaio персональные билеты дешевле
▶️ Исследуйте разработку будущего — на сайте Joker. | 5 607 |
| 19 | 🙅♂️ Не каждый AI-вызов должен генерировать текст
Иногда от модели нужен не красивый ответ, а быстрое решение. Пропустить запрос или заблокировать, выбрать маршрут, оценить результат, отфильтровать документы для RAG.
Для этого появился Spring AI TypeSafe. Проект интегрирует Jev API, который отвечает на типизированные вопросы числовыми значениями и не генерирует текст.
Разбираемся, как поставить быструю и дешёвую проверку перед дорогим вызовом чат-модели и платить по-крупному только тогда, когда это действительно нужно.
🔗 Читать статью | 4 599 |
| 20 | JEP 544: JVM будет сохранять машинный код между запусками
JEP 544 (Ahead-of-Time Code Compilation) предложен в JDK 28, релиз в марте 2027. Это очередной слой AOT-кэша из Project Leyden. В JDK 24 туда попали загруженные и слинкованные классы (JEP 483), в JDK 25 - профили методов (JEP 515). Теперь дошла очередь до самого машинного кода.
Как это работает
На обучающем запуске JVM компилирует горячие методы обычными C1 и C2 и складывает результат в кэш. В рабочем запуске запрос на компиляцию метода закрывается готовым кодом. Процедура та же, что и раньше: -XX:AOTCacheOutput при обучении, -XX:AOTCache в проде. Включать ничего не нужно.
Код из кэша остаётся обычным кодом HotSpot. Если рабочая нагрузка ушла в сторону от обучающей, метод деоптимизируется и перекомпилируется JIT-ом, как любой другой. Профили из JEP 515 при этом продолжают работать: по ним JVM выбирает порядок загрузки кода и пересобирает методы.
Чем AOT-код хуже JIT-кода
JIT компилирует метод, когда нужные классы давно инициализированы. Он подставляет значения static final полей как константы и выбрасывает проверки инициализации. Код из кэша начинает работать раньше, чем классы успели инициализироваться, а значение static final может отличаться от запуска к запуску. Поле приходится читать по-настоящему.
Для методов, которые обращаются к статике других классов, C2 собирает две версии: медленную с проверками инициализации и быструю без них.
Поэтому JIT никуда не уходит. AOT-код даёт быстрый старт, до пика доводит перекомпиляция.
Когда кэш не сработает
Обучающий и рабочий запуски должны совпадать по архитектуре процессора, набору инструкций и сборщику мусора: барьеры GC вшиты в машинный код. Собрали образ на хотсе с AVX-512, pod уехал на узел без него - код из кэша не загрузится. Ошибки не будет, JVM молча перейдёт на интерпретатор и JIT. В кластере с разнородными узлами это легко пропустить.
Поддерживаются x64 и AArch64, из сборщиков - Serial, Parallel, G1 и ZGC.
Цифры
По данным JEP, AOT-кэш без кода сокращает время старта на 50-70%, с кодом - на 65-80%. Основную часть выигрыша на старте дают уже вышедшие JDK 24-26, новый JEP добавляет 10-15 п.п.
Заметнее эффект на прогреве. В PR есть замер на Quarkus-сервисе с двумя ядрами: обычная JVM начинает отвечать быстрее 1 мс после 420 запросов, JDK 26 с AOT-кэшем - примерно после 200, сборка с JEP 544 - чуть позже сотого.
Второй эффект касается CPU. JIT на старте перестаёт отбирать ядра у приложения, и сильнее всего это видно на контейнерах с лимитом в 1-2 CPU. Там, где запас по CPU закладывали под прогрев, его можно будет пересмотреть.
Оценить вклад кода на своём сервисе можно диагностическим флагом:
-XX:+UnlockDiagnosticVMOptions -XX:-AOTCodeCaching
Заодно станет видно, насколько вырос файл кэша.
Что остаётся неудобным
Обучающий запуск. Кэш хорош настолько, насколько нагрузка при сборке похожа на боевую, а готового инструмента для этого нет. Spring Boot и Quarkus умеют записывать кэш при сборке, но прогон реальных сценариев остаётся на вашей стороне. Упрощение этого процесса авторы JEP прямо вынесли за рамки.
JEP: https://openjdk.org/jeps/544 | 5 547 |
