AOT-предзагрузка классов
Кэширование загрузки и компиляции классов для мгновенного запуска.
Сравнение кода
✕ Java 8
// Every startup: // - Load 10,000+ classes // - Verify bytecode // - JIT compile hot paths // Startup: 2-5 seconds
✓ Java 25
// Training run:
$ java -XX:AOTCacheOutput=app.aot \
-cp app.jar com.App
// Production:
$ java -XX:AOTCache=app.aot \
-cp app.jar com.App
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Более быстрый запуск
Пропуск загрузки, верификации и компоновки классов.
Кэшированное состояние
Обучающий прогон фиксирует оптимальное состояние классов.
Без изменений в коде
Работает с существующими приложениями — достаточно добавить флаги JVM.
Старый подход
Холодный старт при каждом запуске
Современный подход
AOT-кэш
Начиная с JDK
25
Сложность
Продвинутый
Поддержка JDK
AOT-предзагрузка классов
Доступно
Доступно как стандартная функция в JDK 25 LTS (JEP 514/515, сентябрь 2025).
Как это работает
AOT-предзагрузка классов сохраняет загруженные и связанные классы из обучающего прогона в кэш. При последующих запусках классы загружаются из кэша, пропуская этапы верификации и компоновки. В сочетании с AOT-компиляцией это резко сокращает время запуска.
Связанная документация