Top 5 Best Java 8 Tutorials, Courses, and Books

AMIT PATIL
4 min readSep 20, 2019

--

Best Java 8 Tutorials
1) As I said, I have started learning Java 8 new features to get myself ready to adopt Java 8 as soon
as possible. I have a gut feeling that industry will probably do the same and once Java 8 will be
formally released, there will be hardly a new project going to Java 1.6 or 7.
Much like what happened after Generics was introduced, now you won’t see any Collection
framework code without Generics. There are lots of good Java 8 tutorials already
available online, and I am going to make full use of those.
I have selected some of the best Java 8 tutorials to start with. This list is by no means complete
and I will keep adding content on it, as and when I found something interesting and progress in
my learning.Maurice Naftalin’s Lambda FAQ
Whenever I talk about lambda expression of Java 8, this is the first resource, which comes to my
mind. I have visited his lambda FAQ site a lot of times and it’s just amazing. If you don’t
remember Maurice Naftalin is one of the authors of one of the great book Java Collections and
Generics.
He has done an absolute gem of work to jolt down lambda expression FAQ, before going
anywhere else, I strongly recommend to visit this site and go through those fundamental
questions on Lambda expression.

2) Official Lambda Expressions Tutorial from Oracle
This is another great tutorial on lambda expression. Like all other official Java tutorial, this one
is also up to mark. It starts with a naive approach to use traditional Java coding style and it
improves upon its approach with local and anonymous classes and then finishes with an
efficient and concise approach using lambda expressions.
It also explains what is method reference in Java 8 and how to use them. Since you use lambda
expressions to create anonymous methods, remember not the anonymous class. Sometimes,
however, a lambda expression does nothing but call an existing method. In those cases, it’s
often clearer to refer to the existing method by name.
Method references enable you to do this; they are compact, easy-to-read lambda expressions for
methods that already have a name. The double colon operator (::) is used to denote method
reference. For all starters, once you finished reading Maurice’s lambda expression FAQ, you can start with
this one. You will learn by doing comparative analysis opportunity presented by examples.
For example, to print the contents of a List, you can simply write

3) Java 8 Lambda Expression Presentations and Video tutorial
There are lots of presentation on Java 8 new features, lambda expressions, stream API,
functional interfaces, default methods, how lambda expression works, pros and cons of using
lambda expression and a whole range of Java 8 topics.
I have collected some of the best ones which are delivered by the authority like Brian Goetz, Java
Language Architect at Oracle, and main author of concurrency classic, Java Concurrency in
Practice.
His presentation, Lambda: A Peek Under the Hood gives a wealth of technical detail on the
implementation of lambda expression in Java. The Road to Lambda is another presentation by
Brian Goetz, which provides a deep and comprehensive view of Project Lambda.

4) Adopt OpenJDK Lambda Tutorial
This is another set of exercises to teach the use of Java 8 lambda syntax, and the new Streams
API. It contains proper instruction for doing this exercise hosted on Github, and some handy
tutorials to setting up IDEs like Eclipse and IntelliJ for Java 8 lambda expression on Ubuntu, Mac
OS, and Windows.
It also contains some good exercise on internal vs external iteration (the forEach method),
Filtering and Collecting, Mapping and Method References.
You can download and install Java 8 to run these tutorials and examples. They will also run on
higher Java version like Java 9 and Java 10 and hopefully on the coming Java 11 version.

5) Java 8 Lambda tutorial from Dreamsys Software
This is one more collection of simple Java 8 tutorials on lambda expression. I like there easy to
follow the example on a day to day topics. They have Java 8 tutorials divided into the following
topics : Introduction — The basics.
Comparator — Using a comparator.
Collections Filtering — Filtering a collection.
Functions as Parameters — Passing functions as parameters (example.
Listeners — Using lambdas as listeners. (example)Map/Reduce — Using map/reduce with Java 8
DRY — DRY (Don’t Repeat Yourself). I would say very handy tutorial for busy Java developers who like to get their hands dirty by trying stuff.

6) IDE Support for Java 8 Lambda Expression
All three major Java IDEs e.g. Eclipse, IntelliJ, and Netbeans have support for the new Java 8
features including lambda expression, which is great for development and learning.
You can use these IDES to quickly get up-to-speed with new Java 8 features. Most of them
provide context suggestion and automatically convert Anonymous class to lambda expression
and method references wherever possible.

7) Java 8 Books
Here are a couple of good books to learn Java 8. All these books focus on what, why and how of
new features introduced in Java. The first two are my favorite and I strongly suggest Java
developers read them.

8)Java 8 Lambdas in Action
Java 8 Lambdas in Action is probably the best book to learn Java 8 features. It’s one of the
clearly-written guides to Java 8 lambdas and functional programming in Java. It begins with a
practical introduction to the structure and benefits of lambda expressions in real-world Java
code.
The book then introduces the Stream API and shows how it can make the collections-related
code radically easier to understand and maintain.
Along the way, you’ll discover new functional programming oriented design patterns with Java
8 for code reuse, code readability, exception handling, data manipulation, and concurrency.

--

--