Порефлексируем о Spring AOT

Языки программирования и технические стеки

Java
Оптимизация производительности
Оптимизация
Микросервисы

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Рустам покажет, как Spring AOT ускоряет запуск Spring Boot-приложений за счёт генерации кода и RuntimeHints. Это не про GraalVM Native Image и не про JDK AOT/CDS. Что меняется, где реальная выгода по времени старта, риски и шаги внедрения. В конце — демо «до/после» и чек-лист.

Целевая аудитория

Senior Java-разработчики, DevOps-инженеры работающие с Java-проектами

Тезисы

В гонке за перфомансом Java-приложений технологии Ahead-of-Time выходят на первый план. Но если GraalVM, AOT в JDK и CDS ориентированы на статическую компиляцию и оптимизацию JVM, то Spring AOT в Spring Boot 3.x решает совсем другую задачу. Он не превращает проект в автономный исполняемый файл, а заменяет рефлексию и динамику Spring Framework на сгенерированный Java-код, ускоряя старт приложения и снижая накладные расходы.

В докладе разберём:

- как именно Spring AOT работает «под капотом»;

- что ломается и какие есть ограничения;

- как адаптировать свои проекты и тесты под AOT-режим;

- что реально выигрываем в старте и потреблении ресурсов.

Будет live-демо: соберём проект в режиме Spring AOT, посмотрим на сгенерированный код, соберём Docker-образ и сравним время запуска с обычным Spring Boot. А в конце — небольшой бенчмарк и выводы, где Spring AOT уже можно использовать на практике.

Рустам Курамшин

Магнит Маркет

Team Lead в Магнит Маркет. Профессионально занимаюсь Java backend-разработкой и микросервисами. В свободное время побеждаю на хакатонах, пишу статьи, веду youtube-канал про Java и Spring. Эксперт "Spring АйО" - крупнейшего сообщества java-разработчиков. Спикер конференций JPoint, HighLoad++ и пр.

Видео