Leveraging Parallel Streams for Fast Data Processing in Java
Offered By: Pluralsight
Course Description
Overview
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.
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 8, 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.
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.
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 8, 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.
Syllabus
- Course Overview 1min
- Introducing Parallelism in the Java Stream API 34mins
- Getting the Best Performance Gains from Parallel Streams 21mins
- Analyzing the Fork / Join Implementation of Parallel Streams 48mins
- Choosing the Right Sources of Data to Efficiently Go Parallel 27mins
Taught by
Jose Paumard
Related Courses
Algorithms, Part IPrinceton University via Coursera Introduction à la programmation orientée objet (en Java)
École Polytechnique Fédérale de Lausanne via Coursera MongoDB for Java Developers
MongoDB University Initiation à la programmation (en Java)
École Polytechnique Fédérale de Lausanne via Coursera Intro to Java Programming
San Jose State University via Udacity