Wipro Interview Question

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