Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM

Производительность enterprise-систем

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

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

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

Глубокий взгляд на новые технологии JVM: CRaC, CDS и GraalVM. Разбор внутренней работы, примеры для SpringBoot и возможные проблемы. Доклад для Java-разработчиков, которые хотят освоить новые JEP'ы, и всех, кого интересует, как устроена JVM под капотом.

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

Java-разработчики, Team/Tech Lead'ы.

Тезисы

Технологии не стоят на месте. Особенно, если речь заходит о Java-технологиях и JVM.

Когда говорят о производительности Java и микросервисов на Spring Boot, есть несколько болевых точек, в которые постоянно бьют: время запуска и динамическая компиляция байт-кода JIT-компилятором JVM.

В этом докладе мы поговорим о новшествах, которые появились в Java и JVM: CRaC и GraalVM. Они призваны решать упомянутые проблемы. Но разработчики и рынок еще к ним не готовы, потому что не знают, как именно это работает и что, вообще, с этим делать.

Добро пожаловать в мир Java и компиляторов! :)

Профессионально занимается backend-разработкой на стеке Java, Kotlin и Spring Framework (иногда еще Go и Node.js). Стремится к созданию масштабируемых и надежных приложений. Владеет знаниями в асинхронном, многопоточном и реактивном программировании, благодаря чему использует инструменты, такие как Spring WebFlux, Project Reactor, Kotlin Coroutines и Java Concurrency. Проектирует микросервисную архитектуру (System Design).

Эффективно работает как в индивидуальном режиме, так и в качестве team lead’а. Опыт в роли team lead’а — 4 года. В этом качестве руководил командами от 3 до 6 разработчиков.

Активно участвует в сообществе разработчиков. Выступает в качестве спикера на конференциях JUG.RU (JPoint) и митапах, соревнуется на хакатонах, а также ведет канал на YouTube (https://www.youtube.com/@rustam-kuramshin), посвященный backend-разработке на Java, Kotlin и Spring Boot.

В свободное время увлекается изучением новых технологий, решает задачи на LeetCode, развивает свой кластер Kubernetes на Raspberry Pi, разрабатывает свои проекты.

В настоящий момент Developer Advocate в Axiom JDK.

Axiom JDK

Axiom JDK — российская команда с 25-летним опытом разработки Java-платформы. Они предлагают полный стек ПО для разработки и запуска Java-приложений. Их клиенты — крупнейшие государственные и финансовые сервисы со 100+ млн клиентов, для которых секунды простоев стоят миллионы.

Видео