Wipro interview question

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