Открытые уроки · Java 21

Современная Java: читайте, пробуйте, проверяйте себя

Одиннадцать коротких уроков о том, как пишут на Java сегодня: без лишних церемоний, с записями, сопоставлением с образцом, потоками данных и виртуальными потоками. Каждый урок можно пройти за вечер, имея только установленный JDK 21.

Уроки по порядку

Порядок подобран так, чтобы каждый следующий урок опирался на предыдущие. Уровень «старт» не требует опыта в Java, «базовый» предполагает знакомство с классами и коллекциями, «уверенный» — привычку читать документацию.

  1. JShell: пробуем Java без проекта и сборки

    Запускаем интерактивную оболочку из состава JDK, вычисляем выражения, объявляем переменные и методы и учимся быстро проверять идеи, не создавая проект.

    старт 25 мин обновлён

  2. var: выведение типов без потери ясности

    Где локальное выведение типов делает код чище, где вредит читаемости и какие простые правила помогают не спорить об этом в команде.

    старт 20 мин обновлён

  3. Текстовые блоки и современные методы строк

    Многострочные литералы без экранирования, formatted(), strip(), lines(), repeat() и приёмы, которые заменяют громоздкую конкатенацию.

    старт 25 мин обновлён

  4. Records: неизменяемые данные без шаблонного кода

    Объявляем запись одной строкой, получаем конструктор, equals и toString бесплатно и добавляем проверки в компактном конструкторе.

    базовый 30 мин обновлён

  5. Switch-выражения и сопоставление с образцом

    Switch как выражение, стрелочные ветки, проверка типов через instanceof-паттерны, деконструкция записей и охранные условия when.

    базовый 35 мин обновлён

  6. Sealed-интерфейсы: закрытые наборы вариантов

    Ограничиваем множество реализаций, получаем исчерпывающий switch без default и моделируем результат операции без исключений.

    базовый 30 мин обновлён

  7. Stream API: от цикла к конвейеру данных

    Фильтруем, преобразуем и группируем коллекции конвейерами, разбираем Collectors, ленивость и типичные ошибки новичков.

    базовый 40 мин обновлён

  8. Optional: честная работа с отсутствующим значением

    Когда возвращать Optional, как раскрывать его без get() и почему он не подходит для полей и параметров.

    базовый 25 мин обновлён

  9. java.time: даты, периоды и форматирование

    LocalDate, LocalDateTime и ZonedDateTime, разница между Period и Duration, безопасный разбор и вывод дат по образцу.

    базовый 30 мин обновлён

  10. Файлы и HTTP-клиент: читаем, пишем, запрашиваем

    Files.readString и writeString, обход каталога, HttpClient из стандартной библиотеки и разбор ответа без внешних зависимостей.

    уверенный 40 мин обновлён

  11. Виртуальные потоки: тысячи задач без страха

    Что изменилось в Java 21, как запускать задачи через newVirtualThreadPerTaskExecutor и где виртуальные потоки не помогут.

    уверенный 35 мин обновлён

Как заниматься

Уроки рассчитаны на чтение с открытым терминалом: каждый пример стоит набрать руками и запустить.

  1. Установите JDK 21

    Подойдёт любая сборка OpenJDK с долгосрочной поддержкой. Проверьте установку командой java -version.

  2. Пробуйте в JShell или в одном файле

    Короткие примеры удобно вводить в JShell, программы длиннее двадцати строк — сохранять в файл и запускать командой java Имя.java.

  3. Делайте задание в конце урока

    Задание проверяет ровно то, что разобрано. Если оно не получается, вернитесь к примеру и измените в нём одну деталь.

Что открыто, а что в учебном кабинете

Всё, что читается и проверяется самостоятельно, остаётся на сайте и бесплатно. В закрытый кабинет уходит только то, на что нужно время человека, — разбор присланных решений.

  1. Открыто на сайте

    Все одиннадцать уроков целиком: объяснения, примеры и задания в конце. Уровни «старт», «базовый» и «уверенный» доступны одинаково, вход и регистрация не нужны. Ничего из уже опубликованного не закрывается.

  2. В учебном кабинете

    Разбор ваших решений по заданиям из уроков и ответ на вопрос по конкретному коду. Вход по коду приглашения на lms.school-fortuna.ru; доступ бесплатный, оплата не взимается.

  3. Чего нет ни там, ни там

    Обучение по образовательной программе не ведётся, документы об образовании не выдаются, набор и оплата не проводятся. Закрытый доступ в кабинет этого не меняет.