Java выпущена Sun Microsystems в 1995 году, сейчас разрабатывается Oracle. Основной релиз-цикл — полгода: свежие LTS-версии (Long-Term Support) выходят раз в два года и поддерживаются восемь лет. На таком LTS обычно и сидят крупные проекты: Netflix, LinkedIn, Airbnb, банковский бэкенд Сбера и Тинькофф, серверная часть Minecraft, экосистема Android до Kotlin.

Синтаксис Java строгий, типизация статическая. Компилируется в байт-код и исполняется в JVM — поэтому одна и та же программа запускается на любой операционной системе без пересборки. Порог входа средний: язык многословный, но большинство ошибок ловится ещё до запуска, что делает его удобным для первого серьёзного языка.

Ниже — десять ресурсов для старта: официальная документация, две интерактивные платформы, книжный ориентир, курсы и наборы упражнений для практики.

dev.java

dev.java

Официальный учебный портал от Oracle, запущенный в 2021 году. Собран из туториалов по всем сторонам языка — от базового синтаксиса до модулей, generics, records и виртуальных потоков (Project Loom). Материалы обновляются под каждый LTS-релиз, есть плейлисты видео от инженеров Oracle. Бесплатно.

Oracle Java SE Documentation

Oracle Java SE Documentation

Первоисточник спецификации языка и JDK. Здесь лежат Java Language Specification, документация всех классов стандартной библиотеки и туториалы «The Java Tutorials», которые Oracle ведёт с начала 2000-х. Английский, читать после первых учебных материалов — когда уже понятны базовые конструкции.

JetBrains Academy — Java Developer

JetBrains Academy — Java Developer

Интерактивный трек от JetBrains, авторов IntelliJ IDEA. Учит через проекты: пишешь код в реальной IDE, тесты проверяют результат, теория выдаётся дозами прямо между шагами проекта. Программа доходит до Spring Boot и многопоточности. Есть бесплатный триал, дальше подписка.

MOOC Java Programming — University of Helsinki

MOOC Java Programming — University of Helsinki

Университетский курс двумя частями (Part 1 и Part 2), полностью бесплатный, на английском. Считается одним из самых крепких вводных курсов в интернете — проходят с нуля до объектной модели и структур данных. Задания автоматически проверяются, есть даже опция официального экзамена в конце.

Codecademy — Learn Java

Codecademy — Learn Java

Короткий интерактивный курс на 25 часов: пишешь код прямо в браузере, платформа тут же проверяет. Хорошо заходит на самом старте, когда важно быстро увидеть результат и не бороться с установкой JDK. Есть бесплатная база, продвинутые модули по подписке.

Baeldung

Baeldung

Крупнейший туториал-ресурс по Java-экосистеме: язык, Spring, Hibernate, тесты, безопасность. Отличный справочник — когда нужно быстро вспомнить, как настроить какую-то конкретную вещь, поиск по Baeldung часто оказывается быстрее официальной документации. Бесплатный доступ ко всем базовым статьям.

Exercism — Java Track

Exercism — Java Track

Более 130 задач на язык, от «Hello World» до многопоточных упражнений. Ключевая фишка — ревью решений живыми менторами: отправляешь код, получаешь разбор с советами про идиоматичность и хорошие практики. Полностью бесплатно, донат-модель.

Head First Java (3-е издание, 2022)

Head First Java (3-е издание, 2022)

Легендарная книга O'Reilly, переизданная под свежий синтаксис (lambdas, streams, modules). Материал подаётся визуально — со схемами, шутками и повторением, чтобы закреплялось на автомате. Хороший выбор для тех, кому «сухая» документация не заходит.

freeCodeCamp — Java Programming Course

freeCodeCamp — Java Programming Course

Двенадцатичасовой курс от freeCodeCamp на YouTube: объектно-ориентированное программирование, коллекции, ввод-вывод, работа с исключениями. Бесплатный, английский с автоматическими субтитрами. Смотрится параллельно с MOOC.fi или книгой — закрывает пробелы визуальным примером.

Spring Guides

Spring Guides

Официальные пошаговые гайды от VMware по Spring — основному фреймворку для бэкенда на Java. Каждый гайд решает одну маленькую задачу за 15–30 минут: REST-эндпоинт, работа с базой, отправка сообщений. Стоит идти сюда после того, как язык освоен — чтобы ткнуть пальцем в живой веб-стек.