Ответ
Для нового микросервиса следует выбирать последнюю актуальную LTS-версию Java. На данный момент это Java 17 или Java 21.
Почему LTS (Long-Term Support)?
- Гарантированные обновления безопасности и исправления ошибок на протяжении многих лет.
- Стабильность для production-среды.
Ключевые особенности Java 17:
Recordsдля создания неизменяемых классов-данных.Sealed Classesдля контроля наследования.Pattern Matching for instanceof.- Улучшения производительности сборщика мусора (ZGC, Shenandoah).
Ключевые особенности Java 21:
- Virtual Threads (Project Loom) для упрощения написания высокопроизводительных concurrent-приложений.
Record PatternsиPattern Matching for switch.
Пример настройки в Maven (Java 17):
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
Рекомендация: Для большинства проектов сегодня оптимален Java 17 как проверенная и широко поддерживаемая LTS. Если требуется пионерское использование виртуальных потоков и команда готова к раннему adoption, можно рассмотреть Java 21.