JAVA_IIBRARY Telegram 1738
Ты на собеседовании на бэкенд-разработчика. Интервьюер спрашивает:

В чем разница между Future и CompletableFuture в Java?

Обычно на это отвечают размыто. Давай разложим по полочкам.

Что такое Future

• Появился в Java 5 вместе с Executor framework.
• Представляет результат асинхронного вычисления.
• Обычно ты отдаешь Callable в ExecutorService, который возвращает Future<T>.

С ним можно:

• вызвать get() → блокирует поток, пока задача не завершится
• вызвать isDone() → проверить, закончилась ли задача
• вызвать cancel() → попытаться отменить выполнение

И на этом все. Future дает контроль над ожиданием, но никак не управляет тем, что делать, когда результат готов.

Что добавляет CompletableFuture

• Появился в Java 8, реализует Future и CompletionStage.
• Все еще является Future (можно блокироваться, если хочется), но гораздо функциональнее.
• Поддерживает неблокирующие коллбеки (thenApply, thenAccept, thenRun).
• Позволяет комбинировать задачи (thenCombine, allOf, anyOf).
• Умеет завершаться вручную через complete(), чего у Future нет.
• Даёт более гибкую обработку ошибок (exceptionally, handle).

Главная разница

С Future ты просто ждешь результат. С CompletableFuture ты описываешь, что должно произойти, когда результат появится.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135



tgoop.com/Java_Iibrary/1738
Create:
Last Update:

Ты на собеседовании на бэкенд-разработчика. Интервьюер спрашивает:

В чем разница между Future и CompletableFuture в Java?

Обычно на это отвечают размыто. Давай разложим по полочкам.

Что такое Future

• Появился в Java 5 вместе с Executor framework.
• Представляет результат асинхронного вычисления.
• Обычно ты отдаешь Callable в ExecutorService, который возвращает Future<T>.

С ним можно:

• вызвать get() → блокирует поток, пока задача не завершится
• вызвать isDone() → проверить, закончилась ли задача
• вызвать cancel() → попытаться отменить выполнение

И на этом все. Future дает контроль над ожиданием, но никак не управляет тем, что делать, когда результат готов.

Что добавляет CompletableFuture

• Появился в Java 8, реализует Future и CompletionStage.
• Все еще является Future (можно блокироваться, если хочется), но гораздо функциональнее.
• Поддерживает неблокирующие коллбеки (thenApply, thenAccept, thenRun).
• Позволяет комбинировать задачи (thenCombine, allOf, anyOf).
• Умеет завершаться вручную через complete(), чего у Future нет.
• Даёт более гибкую обработку ошибок (exceptionally, handle).

Главная разница

С Future ты просто ждешь результат. С CompletableFuture ты описываешь, что должно произойти, когда результат появится.

👉 Java Portal

BY Java Portal | Программирование




Share with your friend now:
tgoop.com/Java_Iibrary/1738

View MORE
Open in Telegram


Telegram News

Date: |

The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. Informative Telegram users themselves will be able to flag and report potentially false content. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Java Portal | Программирование
FROM American