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: |

Activate up to 20 bots The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Hashtags Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place.
from us


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