Продолжительность
6 ч 29 мин 22 сек
Количество уроков
31 Видео
Дата добавления
29.04.2023
Многопоточка часто остаётся "слепым пятном" у разработчиков. Многие знают про экзекьюторы, synchronized и volatile, а на практике пишут устаревший, медленный и некорректный код.
Почему так происходит?
Большая часть курсов и статей не уходит дальше класса Thread и экзекьюторов. Есть хорошая книга Java Concurrency In Practice, но она 2005 года. С тех пор появились новые инструменты и новые подходы к написанию кода.
Ошибки многопоточки проявляются под высокой нагрузкой. На большинстве проектов её нет, поэтому создаётся ощущение "и так норм".
Но грамотный разработчик видит узкие места системы. Предвидит ошибку, которая случится через месяц и рационально использует вычислительные ресурсы.
На курсе я подробно расскажу про многопоточку от простого к сложному. Покажу лучшие практики и основные ошибки, примеры из своего опыта и популярных проектов.
Что нужно для комфортного обучения
- Опыт разработки на Java от года
- Начальные знания многопоточности: Thread, Executors, volatile, synchronized
- Паттерны проектирования GoF
- Умеете писать веб-сервисы на Spring, делать запросы в базу данных и писать юнит-тесты
- Знание git
- Подробно разбирать каждый класс java.util.concurrent: плюсы, минусы, лучшие практики
- Изучать, как всё работает "под капотом"
- Подсматривать интересные приёмы в популярных проектах
- Искать ошибки и возможные проблемы в коде реального проекта
- Сравнивать реализации между собой
- Измерять производительность в разных условиях
- Разбирать вопросы с собеседований
Также затронем:
- Флажки JVM, связанные с многопоточностью
- Что и как тестировать
- Реактивные библиотеки
- Виртуальные потоки
- Алгоритмы
- Теория параллельных вычислений
- Распределённые вычисления и транзакции