Parallel programming with streams and arrays - Master Class

Kort om undervisningen

This short course explains some pitfalls which typically occurs when Java-programs are being executed in a multicore environment. The course will explain the underlying reasons and devise some proper solutions using Java 8 parallel streams. This course is being taught by professor Peter Sestoft.


We show how to use Java 8 streams and parallel array operations to solve various problems, and show how this allows for simple, safe and efficient parallelization on shared-memory multicore machines.

This is based in the stream, collector and array API of the Java 8 class library. We discuss some limitations of Java 8 streams compared to other high-level parallel programming frameworks. More technically, we dive below the API to see how that implementation can be so efficient, through a look at work-stealing queues, thread-locality and the hardware's cache coherence protocols.


Solid experience with Java similar to Java SE - Java Standard Edition 8 - Advanced and Java SE - Java Standard Edition 8 - Upgrade. Knowledge of functional programming, e.g. Java 8 lambda expressions, is preferable. 


Experienced Java developers working with high performance systems.

Efter kurset kan deltageren

  • Optimize Java code to take advantage of multiple CPUs/cores
  • Explain certain performance issues regarding parallelization

Kontakt gerne Lund&Bendsen ved hjælp af vores kontaktformular eller ring til telefon (+45) 33 861 861 for at høre nærmere.