Установка JDK и IDE
Тема дорожной карты · Java
Установка JDK (Java Development Kit) — это обязательный первый шаг для любого Java-разработчика: JDK включает компилятор javac, лаунчер java, javadoc, jshell, инструменты профилирования и полноценный JRE, необходимый для запуска Java-приложений. Oracle распространяет официальные сборки JDK, однако открытые альтернативы — Eclipse Temurin (преемник AdoptOpenJDK), Amazon Corretto, Microsoft Build of OpenJDK и Azul Zulu — полностью совместимы со спецификацией Java SE и предпочтительны в производственных Linux-окружениях. Рекомендуемый способ установки на Linux и macOS — SDKMAN! (sdk install java 21-tem), позволяющий иметь несколько версий JDK одновременно и переключаться между ними командой sdk use java; на Windows стандартными путями являются winget (winget install EclipseAdoptium.Temurin.21.JDK) или официальный установщик MSI. После установки JDK задайте переменную окружения JAVA_HOME, указывающую на корневой каталог JDK, и добавьте $JAVA_HOME/bin в PATH — инструменты сборки Maven и Gradle, серверы приложений и CI-окружения используют JAVA_HOME для нахождения нужной JVM. В Docker-деплойментах JDK обычно включается в многоэтапные сборки Dockerfile: на этапе сборки используется полный образ JDK (eclipse-temurin:21-jdk) для компиляции и упаковки приложения, а на этапе выполнения — облегчённый образ JRE (eclipse-temurin:21-jre) для минимизации итогового размера контейнера.
Как это работает
Установка JDK и IDE компилирует исходник .java в байткод (.class), который исполняется на JVM (Java Virtual Machine). JVM даёт GC, JIT-компиляцию (HotSpot, GraalVM) и платформенную абстракцию. Основные дистрибутивы: OpenJDK (референс), Temurin (Eclipse, бесплатно, популярно), Liberica (BellSoft, удобная поддержка для РФ), Amazon Corretto. В production — LTS-версии (17, 21); non-LTS-релизы (каждые 6 месяцев) — для экспериментов с инструментами.
Когда применять
Java — для любого enterprise-backend, разработки Android (Kotlin или Java), проектов с гравитацией JVM-экосистемы (Spring, Hibernate, Kafka-клиент, Elasticsearch-клиент). Startup time + базовая память выше Go и Rust; экосистема библиотек + тулинга + observability непревзойдённа. Liberica или Temurin для production-сборок; пиньте major-версию + patch в CI.
Типичные ошибки
Ловушки Установка JDK и IDE: Oracle JDK в production без коммерческой лицензии (бесплатно только не-prod с изменений 2019 — Temurin/Corretto/Liberica безопасные дефолты); пиннинг non-LTS-релиза (вынуждены обновляться каждые 6 месяцев); копирование туториалов для Java 8 (new ArrayList<Integer>() → List.of(...); лямбды изменили композицию всего). Прочтите migration notes к целевому LTS.