Domanda di colloquio di Wipro

What are CompletableFutures in Java, and how do they enable asynchronous programming?