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.