前言
關于RxJava的學習資料已經(jīng)有很多了椿浓,本系列文章算是自己對于RxJava學習的一個過程記錄,如果錯誤請大家指出。文末附有本人認為較好的一系列文章鏈接。
什么是RxJava
RxJava在GitHub主頁上的自我介紹是:
“Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.”
直譯過來的大概意思就是:一個在 Java VM 上使用可觀測的序列來組成異步的爽室、基于事件的程序的庫
可能對于一個初學者來說,很難理解到底是什么意思淆攻。不如在了解什么是RxJava之前阔墩,我們可以先來看一下什么是Rx:
“Reactive Extensions(Rx)是一個類庫,它集成了異步瓶珊、基于可觀察(observable)序列的事件驅(qū)動編程和LINQ-style的查詢操作戈擒。使用Rx,開發(fā)人員可以用observable對象描述異步數(shù)據(jù)流艰毒,使用LINQ操作符異步查詢數(shù)據(jù)和使用Schedulers控制異步過程中的并發(fā)。簡而言之搜囱,Rx = Observables + LINQ + Schedulers丑瞧。”
這樣我們就可以知道Rx是一個編程模型蜀肘,目標是提供一致的編程接口绊汹,幫助開發(fā)者更方便的處理異步數(shù)據(jù)流,同時Rx庫支持.NET(Rx.NET)扮宠、Swift(RxSwift) ...
在了解了什么是Rx之后西乖,就可以很輕松的理解到RxJava本質(zhì)上可以壓縮為異步這一個詞狐榔。說到根上,它就是一個實現(xiàn)異步操作的庫获雕,而別的定語都是基于這之上的薄腻。
學習RxJava前你應該掌握的
RxJava最核心的兩個東西是Observables(被觀察者,事件源)和Subscribers(觀察者)届案。Observables發(fā)出一系列事件庵楷,Subscribers處理這些事件。這里的事件可以是任何你感興趣的東西(觸摸事件楣颠,web接口調(diào)用返回的數(shù)據(jù))
所以我們需要先了解最基本的觀察者模式尽纽,以及在java中的應用
RxJava學習 - 掌握觀察者模式