jpoint JPoint 2019 (05.04.2019 — 06.04.2019)

Нас Spring Boot, а мы крепчаем: невыносимая легкость AOT-компиляции Spring-приложений

img

На примере поддержки Spring Boot-приложений в AOT-центричной JVM Excelsior JET Никита покажет, как динамические свойства Java, используемые в Spring Framework, могут работать совместно с AOT-порожденным машинным кодом.

Комментарий Программного комитета:

Замечательный и подробный deep dive об AOT-компиляции на примере Spring Boot. Рассматривается, где это полезно, а где не всегда позволяет добиться полезных результатов. В лучших традициях Никиты Липского!

Spring Framework использует, пожалуй, весь набор динамических свойств Java: Spring Boot-приложения грузятся своим загрузчиком классов, повсеместно используются reflection, порождение и загрузка Java-байткода на лету и т. д.

С другой стороны, в мире микросервисов набирает популярность статическая AOT-компиляция Java-приложений для решения проблем быстрого старта, предсказуемой производительности, мгновенного достижения пиковой производительности. Становится интересно: может ли динамичность Spring Framework ужиться со статической компиляцией? Ответ — да, может.

В этом докладе Никита на примере поддержки Spring Boot-приложений в AOT-центричной JVM Excelsior JET покажет, как динамические свойства Java, используемые в Spring Framework, могут работать совместно с AOT-порожденным машинным кодом.