В Java 9 только интерфейсы, при этом у org.reactivestreams есть бридж между интерфейсами jdk9 и собственными. Всякие реакторы, рхджавы, акка стримы и прочие реализуют интерфейсы org.reactivestreams, и имеют статические методы фабричные вроде fromPublisher. Когда jdk11 станет самой популярной, наверно реактивные стримы переедут на интерфейсы из jdk9, а пока многие сидят на восьмерке и ниже, вот такая ситуация. В Jdk нет собственного реактивного фреймворка, поэтому придётся городить j.u.c. Flow -> org.reactivestreams Publisher -> Reactor/etc