Due to heat limitations, modern computer systems have been unable to increase CPU clock speeds in order to increase chip performance. Instead, chip designers have begun to scale performance using an increasing number of on-chip processor cores.
In this course, Reactive Programming in Java 12 with RxJava 2, you will gain the ability to implement Reactive Programming techniques in order to more fully utilize a modern computer's multi-core CPU.
First, you will learn The Reactive Manifesto, the software industries de facto standard for Reactive Programming. Next, you will discover how the RxJava library can be leveraged to tame the difficult task of implementing asynchronous applications. Finally, you will explore how to apply Reactive Programming to modern day problems like network and database access.
When you’re finished with this course, you will have the skills and knowledge of Reactive Programming and the RxJava library needed to implement applications and services that exhibit the quality standard laid out in the Reactive Manifesto.
Russell has been a lover of all things software development since the age of 13. By day Russell is a mild mannered Manager of Enterprise Architecture for a prominent healthcare software vendor. By night a student of new technologies, languages, and all things that are, well, just flat out cool.
Course Overview Computer hardware has evolved by leaps and bounds over the last several decades. Now, software development techniques must evolve as well to leverage newer computer systems that, instead of adding raw clock speed, now scale by having more onboard processor cores. We need to throw off the old single- threaded coding mindset and invent new ways to execute our code concurrently while keeping the complexity of our code manageable. In this course, we will explore the RxJava 2 reactive programming library and how to leverage its features to implement reactive programming concepts as put forth in the Reactive Manifesto. The programming concepts given in the Reactive Manifesto, when paired with the power of the RxJava 2 library, gives us a powerful set of tools to improve the performance and responsiveness of our code while minimizing the complexity of asynchronous programming. We will start with a discussion of the basics of creating RxJava observable streams, how to control the threading behavior of that code, and how to create event-driven applications. You will complete this course with a foundational understanding of how RxJava 2 works and how to apply what you've learned to the topics of network communication, database access, and concurrent data