Найти тему
День-дребедень

Spring Boot 3.3 - еще быстре !

Добрый день коллеги. Сегодня спешу поделиться очередной новинкой от Джоша Лонга. В этом видео Джош рассказывает о том, как можно ускорить старт Java приложения, написанного с использованием Spring Boot.

Честно признаюсь, для меня этот материал несет скорее академический характер. Специфика моих задач не выдвигает таких жестких требований ко времени старта приложения. Все, изложенное в презентации, релевантно скорее для области так называемых пико-сервисов или подходов FaaS (Function as a Service).

И так, какие варианты по ускорению старта у нас существуеют:

  • Использование возможностей AOT (Ahead-of-time processing)
    Более детально Ahead-of-time processing описан в
    этой статье.
  • Class Data Sharing
    Более детально CDS описан в
    этой статье.
  • GraalVM и нативная компиляция
  • CRaaC (Checkpoint and Restore)
    Более детально CRaaC описан в
    этой статье.

Останавливаться и отдавать предпочтение какому либо из вариантов, я не буду. Во-первых, чтобы не дублировать содержание презентации, во-вторых я не являюсь гуру по оптимизации Java и не хотели бы публиковать очевидные ляпы. Но как видите, нет пределу совершенства, Springboot дает в руки разработчика разные как по сложности использования, так и по приросту производительности варианты "разгона" Java. Смелее экспериментируйте и убыстряйтесь :-)