A CompletableFuture is an extension to Java's Future API which was introduced in Java 8.
A Future is used for asynchronous Programming. It provides two methods, isDone() and get(). The methods retrieve the result of the computation when it completes.
Limitations of the Future
A Future cannot be mutually complete.
We cannot perform further action on a Future's result without blocking.
Future has not any exception handling.
We cannot combine multiple futures.