Oracle Corporation has introduced a new API for library or API developers to develop Reactive systems, Reactive libraries, Reactive data stores, Reactive servers, and so on. This API is also known as the Flow API.
It defines a set of interfaces to support developing Reactive systems, so it is also known as the Reactive Streams API. This API is defined under the java.util.concurrent package name.
The Java 9 Flow API mainly contains the following components:
- Publisher
- Subscriber
- Subscription
- Processor
- Flow
The following diagram shows the main five components of the Java 9 Flow API:
Let's discuss these components of the Flow API one by one in detail in the following sections.