История и платформа Java

Тема дорожной карты · Java

История Java начинается в 1991 году, когда Джеймс Гослинг и команда Green в Sun Microsystems разработали язык, первоначально называвшийся Oak и предназначавшийся для встраиваемых потребительских устройств; впоследствии он был переориентирован на World Wide Web и публично выпущен как Java 1.0 в январе 1996 года с лозунгом «Write Once, Run Anywhere», ставшим возможным благодаря JVM. Java 2 (1998) представила GUI-тулкит Swing и Collections Framework; Java 5 (2004, кодовое имя Tiger) стала эпохальным релизом, добавившим Generics, автоупаковку, расширенный цикл for-each, varargs, Executor Framework в java.util.concurrent и аннотации — всё это коренным образом изменило подход к написанию Java-кода. Java 8 (2014) стала следующим трансформационным релизом: она принесла Lambda-выражения, Functional Interfaces, Stream API, Optional<T>, новый API дат и времени java.time и default-методы в интерфейсах, сделав Java конкурентоспособной с современными функциональными языками при сохранении обратной совместимости. Приобретение Oracle компании Sun в 2010 году изменило управление Java, а в 2017 году Oracle перешла на шестимесячный цикл релизов начиная с Java 9, ускорив появление новых возможностей: Java 9 принесла модульную систему JPMS, Java 10 — вывод типов локальных переменных (var), Java 14 — records (preview), Java 17 — sealed classes, а Java 21 — virtual threads (Project Loom) как стабильные LTS-функции. История Java — это также история экосистемы JVM: Kotlin, Scala, Clojure и Groovy компилируются в JVM-байткод и взаимодействуют с Java-библиотеками вроде Spring, Hibernate и JUnit 5, что демонстрирует: платформа JVM пережила и переросла создавший её язык.

Как это работает

История и платформа 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.

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…