Ответ
JDK 21 (Java Development Kit 21) была выпущена 19 сентября 2023 года как версия с долгосрочной поддержкой (LTS).
Ключевые нововведения (фичи):
| Фича | Статус | Описание |
|---|---|---|
| Виртуальные потоки (Virtual Threads) | Final | Облегченные потоки для упрощения высокопроизводительного параллелизма (Project Loom). |
| Шаблоны записей (Record Patterns) | Final | Декомпозиция записей в instanceof и switch. |
Шаблоны в switch (Pattern Matching for switch) |
Final | Использование шаблонов и when-защит в выражениях switch. |
| API последовательных коллекций (Sequenced Collections) | Final | Новые интерфейсы (SequencedCollection, SequencedSet, SequencedMap) для работы с упорядоченными коллекциями. |
| Строковые шаблоны (String Templates) | Preview | Безопасная и эффективная интерполяция строк. |
Пример использования виртуальных потоков:
// Создание ExecutorService на основе виртуальных потоков
try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor()) {
// Запуск 10_000 легковесных задач не приводит к истощению пула потоков ОС
IntStream.range(0, 10_000).forEach(i -> {
executor.submit(() -> {
Thread.sleep(Duration.ofSeconds(1));
System.out.println(i);
return i;
});
});
}
Статус LTS означает, что эта версия будет получать обновления, включая исправления безопасности и ошибок, как минимум до сентября 2031 года, что делает её предпочтительным выбором для промышленной разработки.