Reactive Programming with RxJava
O'Reilly Media (Verlag)
978-1-4919-3165-3 (ISBN)
Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.
Write programs that react to multiple asynchronous sources of input without descending into "callback hell"
Get to that aha! moment when you understand how to solve problems in the reactive way
Cope with Observables that produce data too quickly to be consumed
Explore strategies to debug and to test programs written in the reactive style
Efficiently exploit parallelism and concurrency in your programs
Learn about the transition to RxJava version 2
Ben Christensen is a software engineer focused on resilience, scaleand distributed systems. Open source projects created whileaddressing these requirements include Hystrix (https://github.com/Netflix/Hystrix) and RxJava (https://github.com/ReactiveX/RxJava).
Chapter 1Reactive Programming with RxJava
Reactive Programming and RxJava
When You Need Reactive Programming
How RxJava Works
Mechanical Sympathy: Blocking versus Nonblocking I/O
Reactive Abstraction
Chapter 2Reactive Extensions
Anatomy of rx.Observable
Subscribing to Notifications from Observable
Controlling Listeners by Using Subscription and Subscriber
Creating Observables
Use Case: From Callback API to Observable Stream
rx.subjects.Subject
ConnectableObservable
Summary
Chapter 3Operators and Transformations
Core Operators: Mapping and Filtering
More Than One Observable
Advanced Operators: collect(), reduce(), scan(), distinct(), and groupBy()
Slicing and Dicing Using skip(), takeWhile(), and Others
Writing Customer Operators
Summary
Chapter 4Applying Reactive Programming to Existing Applications
From Collections to Observables
BlockingObservable: Exiting the Reactive World
Embracing Laziness
Composing Observables
Imperative Concurrency
flatMap() as Asynchronous Chaining Operator
Replacing Callbacks with Streams
Polling Periodically for Changes
Multithreading in RxJava
Summary
Chapter 5Reactive from Top to Bottom
Beating the C10k Problem
HTTP Client Code
Relational Database Access
CompletableFuture and Streams
Observable versus Single
Summary
Chapter 6Flow Control and Backpressure
Flow Control
Backpressure
Summary
Chapter 7Testing and Troubleshooting
Error Handling
Testing and Debugging
Unit Testing
Monitoring and Debugging
Summary
Chapter 8Case Studies
Android Development with RxJava
Managing Failures with Hystrix
Querying NoSQL Databases
Camel Integration
Java 8 Streams and CompletableFuture
Memory Consumption and Leaks
Summary
Chapter 9Future Directions
Reactive Streams
Observable and Flowable
Performance
Migration
Appendix More HTTP Server Examples
fork() Procedure in C Language
Thread per Connection
Thread Pool of Connections
Appendix A Decision Tree of Observable Operators
Erscheinungsdatum | 21.10.2016 |
---|---|
Verlagsort | Sebastopol |
Sprache | englisch |
Maße | 150 x 250 mm |
Gewicht | 666 g |
Einbandart | kartoniert |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Informatik ► Software Entwicklung ► Objektorientierung | |
Mathematik / Informatik ► Informatik ► Web / Internet | |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
Schlagworte | Android • App-Entwicklung • Ereignisorientierte Programmierung • event-based • Java • reactive programming |
ISBN-10 | 1-4919-3165-5 / 1491931655 |
ISBN-13 | 978-1-4919-3165-3 / 9781491931653 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich