Leveraging Parallel Streams for Fast Data Processing in Java

by Jose Paumard

Parallelism is an amazing feature brought by the Stream API in Java 8. In this course, you will learn how parallel streams are working under the hood, how to use them to improve the performances of your applications, and when to avoid them.

What you'll learn

Along with the implementation of the map / filter reduce algorithm, the Stream API brings an amazing feature: the possibility to conduct the processing of your data in parallel. Going parallel is as simple as calling a parallel() method, something many developers are tempted to do. In this course, Leveraging Parallel Streams for Fast Data Processing in Java, you will learn what is happening under the hood, and how parallelism has been implemented in the Stream API. First, you will see that going parallel may improve the performances of your computations greatly, but may also ruin your application. Next, you will discover how to understand when things are working, which will give you the keys you need to decide when to go parallel and when to stay away from it. Finally, you will analyze the situations where things are not behaving as expected. By the end of this course, you will gain better understanding of parallelism as it is: a complex topic that you can grasp with simple ideas, so that you can use what you will learn immediately.

Table of contents

Course Overview

About the author

Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language, indispensable to most major modern applications. He brings his expertise and capacity for analysis and synthesis to many projects, mainly in the lower layers, close to the data, but also on complex UI design, or in the browser. PhD in applied maths and computer science, assistant professor in Paris North University for... more

Ready to upskill? Get started