Functional Programming with Java

The 2-day Functional Programming with Java 8 course is aimed at developers who have been using Java but would like to get more out of the language given the new paradigms. They understand Java syntax, language constructs, distinctive object-oriented characteristics but would like to start thinking in a functional way.

This course is designed to help developers think of Java in a functional way. Mutable variables, exceptions, classical input/output, and all other traces of impurity are eliminated. Building up from first principles and extending all the way to incremental input and output, developers would be able to express every concept using only pure functions. This leads to beautiful code and deep insights into the nature of computation.

The course has a practical focus, mixing presentation with in-depth hands-on labs and exercises.

Day 1

FP Introduction
What is FP?
Why does Java need FP?
Lambda Expressions.
Method/Constructor References.
Functional Interfaces.
Default and Static Interface methods.
Lambda Programming.
Streams API
Streams & Collections.
Fluent Programming.
Intermediate & Terminal Operations.
Mappers & Collectors.

Day 2

Stream Internals
Stateless & Stateful Operations.
NonInterference Requirement.
Ordering & Associativity.
Sequential & Parallel Execution.
Performance Model.
User-defined streams.
Concurrency Utilities
Completable Future.
Stamped Lock.
Testing Lambdas.
Date/Time API.
Type Annotations.
Metaspace vs. PermGen.

Course Prerequisites

Good knowledge of Java is expected for this class. No previous knowledge of functional programming expected.

For more information on the course or a discussion on your custom need, send a mail to


Thank you for showing your interest. Someone from Knoldus Inc. will get in touch with you soon!

Please fill up the form, to begin the training of leading technologies:

Thank you for your interest. Someone from Knoldus Inc. will get in touch with you soon!
Trusted by innovative organizations, big and small.
Awards and Recognitions