Введение в Java
Тема дорожной карты · Java
Java — это объектно-ориентированный, статически типизированный язык программирования на основе классов, созданный с философией платформенной независимости: исходный код компилируется javac в архитектурно-нейтральный байткод в файлах .class, который JVM интерпретирует или JIT-компилирует в нативный машинный код во время выполнения на любой поддерживаемой операционной системе. Ключевые принципы Java включают строгую типизацию (каждая переменная имеет объявленный тип, проверяемый на этапе компиляции), автоматическое управление памятью через Garbage Collection JVM и богатую стандартную библиотеку, охватывающую Collections, Concurrency, I/O и NIO, JDBC и криптографию без необходимости в сторонних зависимостях. Язык является основой корпоративной бэкенд-разработки через фреймворки Spring Boot (внедрение зависимостей, REST API, доступ к данным), Hibernate и JPA (ORM для реляционных баз данных через JDBC), а также инструменты сборки Maven и Gradle, автоматизирующие цикл компиляции, тестирования, упаковки и деплоя. Знакомство сообщества разработчиков с Java обычно начинается с JDK — в него входят javac, лаунчер java, jshell (интерактивный REPL, появившийся в Java 9) и диагностические инструменты jvisualvm и jcmd для профилирования кучи и состояния потоков. Имея более чем 30-летнюю историю и LTS-релизы (Java 11, 17, 21), поддерживаемые на протяжении десяти лет несколькими вендорами, Java остаётся одним из наиболее широко используемых языков программирования в мире: на ней работают Android-разработка, финансовые системы, масштабные микросервисы и экосистема Spring, применяемая в миллионах производственных приложений.
Как это работает
Введение в Java компилирует исходник .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.
Типичные ошибки
Ловушки Введение в Java: Oracle JDK в production без коммерческой лицензии (бесплатно только не-prod с изменений 2019 — Temurin/Corretto/Liberica безопасные дефолты); пиннинг non-LTS-релиза (вынуждены обновляться каждые 6 месяцев); копирование туториалов для Java 8 (new ArrayList<Integer>() → List.of(...); лямбды изменили композицию всего). Прочтите migration notes к целевому LTS.