С какой версией Java (JDK) вы работаете?

«С какой версией Java (JDK) вы работаете?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основной опыт — с JDK 11 (LTS), как со стабильной и наиболее распространённой версией в enterprise-проектах. Также знаком с JDK 17 (LTS) и новыми возможностями.

Почему JDK 11? Долгосрочная поддержка, зрелость экосистемы и библиотек, требования многих legacy-систем.

Ключевые фичи разных версий:

  • JDK 8: Lambda, Stream API, java.time.
  • JDK 9: Модульная система (JPMS).
  • JDK 10: Локальный вывод типа (var).
  • JDK 11: Новые методы в String, Files, HTTP-клиент (стандартный).
  • JDK 17: Sealed classes, pattern matching для switch (preview).

Пример sealed class из JDK 17:

public sealed class Shape permits Circle, Rectangle {
    // Базовый класс
}

public final class Circle extends Shape {
    private final double radius;
    // ...
}

Для новых проектов рассматриваю JDK 17+ или последний LTS, но выбор зависит от требований проекта и инфраструктуры.