O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Functional Programming with Streams in Java 9

Video Description

Improve your Java 9 programs using Functional techniques

About This Video

  • Understand the functional programming concepts and how it differs from OOP

  • Write easy and maintainable codes with the lambda expressions and streams

  • Discover the new features of Java 9 which will help you apply FP techniques to your code

  • In Detail

    Java 8 introduced a wealth of new features, pushing Java towards the so-called functional programming paradigm. Benefits from this shift include succinctness and ease of developing robust multi-threaded applications.

    In this course, we will introduce the key functional features of Java 8 and 9, and explain how they can be used to write code that is more expressive and easily amenable to parallelization.

    Specifically, we will first discuss lambda functions and functional interfaces. Using these features, programmers can easily create objects that offer a single specific service, similarly to anonymous classes. We will also explore the predefined functional interfaces that can be found in the Java API, starting from well-known pre-existing ones like Comparator and Runnable.

    Reaping the full benefits of lambda functions requires employing them with streams, a new kind of collection with built-in parallelization support. We will examine the relationship between streams and collections, and how the latter have changed as a result of the new language features.

    Finally, after having mastered the key features of streams, we will consider the details related to parallel execution, such as the crucial notion of side-effect and the fork-join execution model.