src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Flowable<T> share() {
        return publish().refCount();
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Flowable<T> share() {
        return publish().refCount();
    }
Returns a new {@link Publisher} that multicasts (and shares a single subscription to) the original {@link Publisher}. As long as
there is at least one {@link Subscriber} this {@link Publisher} will be subscribed and emitting data.
When all subscribers have canceled it will cancel the source {@link Publisher}.
<p>
This is an alias for {@link #publish()}.{@link ConnectableFlowable#refCount() refCount()}.
<p>
<img width="640" height="510" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/publishRefCount.png" alt="">
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator honors backpressure and expects the source {@code Publisher} to honor backpressure as well.
If this expectation is violated, the operator will signal a {@code MissingBackpressureException} to
its {@code Subscriber}s.</dd>
<dt><b>Scheduler:</b></dt>
<dd>{@code share} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@return a {@code Publisher} that upon connection causes the source {@code Publisher} to emit items
to its {@link Subscriber}s
@see <a href="http://reactivex.io/documentation/operators/refcount.html">ReactiveX operators documentation: RefCount</a>