JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Вступ до CompletableFuture

    JAVA 25 SELF
    55 рівень, 0 лекція
    У цій лекції розберемо, чому синхронний код призводить до блокувань, які обмеження мав інтерфейс Future (на кшталт блокувального виклику get()), і як клас CompletableFuture із пакета java.util.concurrent змінює стиль роботи з асинхронністю. Потренуємося запускати завдання у фоні через supplyAsync, підписуватися на результат за допомогою thenAccept/ thenApply, обговоримо роль пулу ForkJoinPool і типові помилки: використання get()/ join() у головному потоці, відсутність обробки помилок через exceptionally/ handle тощо.
    Відкрита
  • Асинхронні завдання: thenApply, thenAccept, thenRun

    JAVA 25 SELF
    55 рівень, 1 лекція
    Розбираємо запуск і композицію асинхронних обчислень за допомогою CompletableFuture: як стартувати завдання через supplyAsync і runAsync, чим відрізняються обробники thenApply, thenAccept, thenRun, і коли обирати їх асинхронні версії thenApplyAsync/ thenAcceptAsync/ thenRunAsync. Поговоримо про потоки виконання ( ForkJoinPool або ваш Executor), типи результатів ( CompletableFuture<T>, CompletableFuture<Void>) і типові помилки: блокувальні виклики get()/ join(), необроблені помилки без exceptionally/ handle/ whenComplete, а також спроба використати результат усередині thenRun.
    Відкрита
  • Комбінування CompletableFuture: thenCombine, allOf, anyOf

    JAVA 25 SELF
    55 рівень, 2 лекція
    Як паралелити задачі й об’єднувати результати за допомогою CompletableFuture: об’єднання двох результатів через thenCombine/ thenCombineAsync, очікування набору задач через allOf, реакція на найшвидшу відповідь через anyOf. Розберемо сигнатури, практичні приклади з supplyAsync, неблокувальну обробку ( thenAccept, thenRun), а також нюанси помилок і їхню обробку ( exceptionally, handle, whenComplete). Наприкінці — компактна таблиця порівняння методів.
    Відкрита
  • Обробка помилок в асинхронному коді: exceptionally, handle

    JAVA 25 SELF
    55 рівень, 3 лекція
    Як безпечно перехоплювати й обробляти винятки в ланцюжках CompletableFuture: розбираємо ролі exceptionally (резервне значення у разі помилки), handle (універсальний обробник успіху/помилки) і whenComplete (побічні дії без зміни результату). Обговоримо, чому прямий виклик get()/ join() загортає причини в ExecutionException/ CompletionException, як комбінувати етапи ( thenApply, thenAccept) і яких типових помилок уникати.
    Відкрита
  • thenCompose + власний Executor + тайм-аути

    JAVA 25 SELF
    55 рівень, 4 лекція
    Як правильно «склеювати» асинхронні кроки в CompletableFuture за допомогою thenCompose і коли достатньо використати thenApply; як і навіщо підключати власний пул потоків через ExecutorService (замість ForkJoinPool.commonPool()); як убезпечити ланцюжки від «вічного очікування» за допомогою orTimeout і completeOnTimeout. Наприкінці — практичний приклад із власним Executor, thenCompose і тайм-аутом, а також типові помилки та способи їх розв’язання.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush