Конкурентность в Java: Практическое руководство по многопоточному программированию — Алексей Смирнов — обложка книги
300 страниц
Java
PDF
4.5

Конкурентность в Java: Практическое руководство по многопоточному программированию

От основ Thread до CompletableFuture и виртуальных потоков

Автор:

Год:

Краткое содержимое:

Книга «Конкурентность в Java» — это полноценное практическое руководство по написанию эффективных, безопасных и масштабируемых многопоточных приложений на Java. Автор, Алексей Смирнов, senior-разработчик с 10-летним опытом, последовательно проводит читателя от классических подходов (Thread, Runnable) до современных инструментов (CompletableFuture, виртуальные потоки Project Loom).

Материал построен по принципу «от простого к сложному»: каждая глава содержит теорию, примеры кода, типичные ошибки и их решения. Особое внимание уделено практическим аспектам: вы научитесь не только писать многопоточный код, но и отлаживать его, профилировать и избегать «адских» проблем вроде deadlock, livelock и race condition.

Для кого эта книга?

  • Java-разработчики уровня Junior — освоят базу: создание потоков, синхронизацию, wait/notify.
  • Middle разработчики — углубят знания: пулы потоков, Fork/Join, параллельные Stream API.
  • Все, кто переходит с Java 8 на более новые версии (11, 17, 21+) — разберутся с CompletableFuture и виртуальными потоками.

Что вы узнаете?

  • Как работают потоки в JVM и операционной системе.
  • Правила синхронизации: synchronized, Lock, Semaphore, CountDownLatch.
  • Безопасные коллекции из java.util.concurrent.
  • ExecutorService и кастомные пулы потоков.
  • Асинхронное программирование с CompletableFuture.
  • Новейший механизм виртуальных потоков (Project Loom) — как и когда применять.
  • Тестирование многопоточного кода с JUnit и jcstress.

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

Это настольная книга для любого Java-разработчика, который хочет писать быстрые, надёжные и масштабируемые приложения. Независимо от того, создаёте ли вы высоконагруженный сервер, десктопное приложение или обрабатываете Big Data, знание конкурентности — обязательный навык.

После прочтения вы сможете уверенно проектировать многопоточные системы, избегать типовых ловушек и эффективно использовать все ядра процессора.

Рекомендаций