Build your ultimate AI agent
Описание курса
Основы понимания производительности кода
Оптимизация производительности — это важнейший навык для Java-разработчиков, создающих приложения корпоративного масштаба. Этот курс дает всестороннюю основу в методах оптимизации кода — от анализа алгоритмической сложности до продвинутых паттернов повышения производительности. Вы изучите систематические подходы к выявлению, измерению и оптимизации узких мест производительности в приложениях Java.
Продвинутый анализ производительности
Начните с глубокого погружения в алгоритмическую сложность с использованием нотации Big-O. На практических примерах с коллекциями Java вы научитесь оценивать компромиссы между временной и пространственной сложностью. Вы освоите выбор подходящих структур данных на основе требований к производительности, понимая последствия выбора между списками, множествами и картами в различных сценариях.
Оптимизация производительности JVM
Развивайте экспертизу во внутреннем устройстве Java Virtual Machine и измерении производительности. Научитесь использовать профессиональные инструменты для мониторинга ключевых показателей, включая загрузку CPU, потребление памяти и задержку. Вы получите практический опыт работы с механизмами сборки мусора и компиляцией Just-In-Time, что позволит вам проектировать приложения, эффективно использующие возможности оптимизации JVM.
Шаблоны производительности корпоративного масштаба
Изучите передовые методы оптимизации, необходимые для высокопроизводительных приложений. Освойте параллельное программирование с многопоточностью и асинхронными операциями, внедряйте эффективные стратегии кэширования и используйте шаблоны инициализации, которые повышают производительность приложения. На практических примерах вы научитесь применять эти шаблоны в реальных сценариях.
По завершении курса вы получите технические навыки, необходимые для анализа производительности приложений, внедрения стратегий оптимизации и проектирования высокопроизводительных Java-приложений. Этот курс даст вам навыки, необходимые для решения проблем производительности в корпоративных средах и создания масштабируемых, эффективных систем.
Предварительные требования
Программа
Структура курса
1
Основы производительности программного обеспечения
В этой главе вы освоите ключевые навыки анализа эффективности программного обеспечения. Вы научитесь оценивать временну́ю сложность и сложность по памяти, а также сравнивать производительность множеств, ассоциативных массивов и списков. По завершении главы у вас будет аналитическая база для оценки производительности программ и выбора подходящих структур данных в Java-приложениях.
- Нотация Big-O: временна́я сложность50 XP
- Реализация приложения для управления контактами100 XP
- Временная сложность в управлении контактами50 XP
- Реализация приложения для проверки сортировки100 XP
- Нотация «О большое»: пространственная сложность50 XP
- Поиск максимального значения в массиве100 XP
- Пространственная сложность метода поиска максимального значения50 XP
- Реализация социальной сети100 XP
- Эффективные структуры данных: Sets & Maps50 XP
- Реализация поиска дублирующихся транзакций100 XP
- Реализация приложения для анализа текста100 XP
2
Измерение производительности кода
Эта глава познакомит вас с основными техниками измерения производительности Java-приложений. Вы научитесь выявлять узкие места с помощью `System.nanoTime()`, разберётесь в архитектуре памяти JVM, научитесь отслеживать использование памяти и процессора, а также узнаете, как сборка мусора и JIT-компиляция влияют на эффективность вашего кода.
3
Повышение производительности кода
В этой главе вы узнаете, как использовать многопоточность — как с помощью объектов `Thread`, так и с параллельными потоками — для одновременного выполнения операций. Вы также изучите пулы потоков с `ExecutorService` и асинхронное программирование с `CompletableFuture`.
J
Оптимизация кода на Java
Курс
завершён

