Жизнь после "восьмерки": Флагманские нововведения в Java 9+

Свыше 7,5 часов видеолекций с разбором наиболее важных и/или интересных нововведений, появившихся в Джаве, начиная с JDK9 вплоть до 22-го.
✓	Упор сделан на кодовые примеры, хотя и теорчасть тоже присутствует в приличном объеме;
✓	Тематика открытая: курс будет пополняться по мере выхода новых релизов Джавы.
При разборе…
Средний уровень
2-3 часа в неделю

Чему вы научитесь

  • Слушатели познакомятся с наиболее значимыми нововведениями в современной Java и смогут применять полученные знания в своей повседневной работе и/или учебе.

О курсе

Курс предназначен для практического освоения рекомендуемых идиом, новых лексических конструкций и современных приемов написания Java-кода, предоставляемых очередными релизами Java-платформы.

Курс предполагает активное усвоение: в идеале слушатель, следя за видеолекциями, пишет код параллельно с инструктором.

Специфическая особенность данного курса в том, что он существует еще с 2019-го года (в ту пору хостился на платформах Udemy и Coursera), поэтому прошел апробацию и обкатку временем, помогая сотням и тысячам русскоязычных студентов осваивать современные подходы к разработке ПО на Java-платформе. С началом СВО вышеупомянутые зарубежные сервисы отказали россиянам и белорусам в доступе, поэтому автор курса перенес его на родную почву. Курс полностью бесплатен и таковым останется навсегда.

Содержимое учебной программы:

========= Сегмент 1-й: с 9-й версии до 11-й (~5 часов видеолекций) ========

Часть 1 — Модульная система (~3 часа видео)

  • Подготовка учебной среды
  • Причины для модуляризации
  • Модульное приложение — работа с командной строки
  • Модульное приложение — работа в среде NetBeans
  • Ключевое слово requires — работа с командной строки
  • Ключевое слово requires transitive — работа в среде Intellij IDEA
  • Ключевое слово exports — работа с командной строки
  • Ключевое слово exports to — работа в среде Eclipse
  • Модуляризованный механизм загрузки служб на классе ServiceLoader; ключевые слова provides и with
  • Безымянный модуль (Unnamed Module)
  • Анализатор зависимостей jdeps
  • Автоматические модули (Automatic Modules)
  • Знакомство с Module API
  • Генератор исполнимого образа приложения jlink

Часть 2 — REPL-инструмент JShell (~0,5 часа видео)

  • Основные приемы работы
  • Изменение дефиниций
  • Форвардные ссылки
  • Обработка исключений в JShell
  • Полезные команды
  • Работа с class path'ом и module path'ом
  • Встроенные скрипты
  • Стартовые скрипты

Часть 3 — Новый API и проч. (~1,5 часа видео)

  • Приватные методы в интерфейсах
  • Объявление локальной переменной через контекстно-зависимое ключевое слово var
  • Усовершенствованный try-with-resources
  • Немутирующие коллекции
  • Ромбовидный оператор в анонимных внутренних классах
  • Бескомпиляторный запуск приложения
  • Знакомство с Process API
  • Апдейты в интерфейсе Stream
  • Апдейты в классе Optional
  • Замена для депрецированной связки интерфейса Observer и класса Observable

========== Сегмент 2-й: продолжение (~2,5 часа видеолекций) ============

JDK9:

  • Аннотация @SafeVarargs и приватные нестатические методы
  • Запрет на символ подчеркивания '_' в качестве идентификатора

JDK14:

  • switch-выражения

JDK15:

  • Текстовые блоки

JDK16:

  • Классы-рекорды (record classes)
  • Pattern Matching для оператора instanceof

JDK17:

  • Запечатанные классы (sealed classes)

JDK21:

  • Pattern Matching для классов-рекордов
  • Pattern Matching для switch-выражений

JDK22:

  • Безымянные переменные
  • Операторы до вызова super(...) [превью]
  • Стринг-шаблоны [превью]
  • Имплицитно задекларированные классы и нестатические методы main() [превью]

ПРИМ.: Хотя виртуальные подпроцессы (т.н. virtual threads) формально и не являются лексической конструкцией собственно языка Java, а относятся в первую очередь к имплементации JVM, из-за повышенного любопытства к этой теме в нашем курсе также имеется небольшой демо-ролик про virtual threads (чей офиц.релиз состоялся в JDK21).

Для кого этот курс

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

Начальные требования

Требуемый уровень подготовки:

Начальный — средний, т.е. в идеале человек должен быть знаком с базовым синтаксисом, наиболее востребованными классами стандартной библиотеки, обобщенными типами (Generics) и коллекциями; также настоятельно рекомендуется общее понимание приемов функционального и многопоточного программирования в Java.

Наши преподаватели

Как проходит обучение

Учебный материал курса состоит из видеолекций и кодового практикума.

На данный момент не предполагаются ни домашние задания, ни входное/выходное тестирование.

Программа курса

загружаем...

Что вы получаете

  • Подробное и наглядное изложение как теоретического, так и практического кодового материала.
  • Навыки рефакторинга существующего кода для перехода на современные, рекомендуемые идиомы и конструкции.
  • Общее понимание вектора развития Java-платформы.
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно