Gymterview
junior

Какие ключевые нововведения появились в Java 21?

Java 21 — третий LTS, самый значимый релиз со времён Java 8. Ключевые финализированные фичи: Virtual Threads, Pattern Matching для switch, Record Patterns, Sequenced Collections.

Нововведения по версиям (Java 18-21)

Версия Нововведение
Java 18 UTF-8 по умолчанию, Simple Web Server
Java 19 Virtual Threads (preview), Structured Concurrency (incubator)
Java 20 Scoped Values (incubator), Record Patterns (preview)
Java 21 Virtual Threads (final), Pattern Matching для switch (final), Record Patterns (final), Sequenced Collections, String Templates (preview)
Пример
// Простой HTTP-сервер (Java 18+, для разработки)
// Запуск: jwebserver --port 8000 --directory /path/to/site

// Unnamed patterns (Java 21)
if (obj instanceof Point(var x, _)) { // _ — неиспользуемый компонент
    System.out.println("x = " + x);
}

Частые ошибки

  • Путать Java 21 features и preview features — String Templates были preview в 21, удалены в 23
  • Не использовать Virtual Threads сразу — Spring Boot 3.2+ поддерживает одной строкой конфига

Как используется в 2026

  • Java 21 — основная версия для новых проектов
  • Spring Boot 3.2+ полностью поддерживает Virtual Threads
  • Миграция с Java 17 на 21 обычно безболезненна

На собеседовании: назовите тройку главных фич: Virtual Threads, Pattern Matching для switch, Sequenced Collections. Покажите, что понимаете: Virtual Threads — для I/O-bound, Pattern Matching — для type-safe обработки, Sequenced Collections — для единообразного API.