Modern Java - Learn Java 8 features by coding it (

Learn Lambdas, Streams , new Date APIs, Optionals and Parallel programming in Java 8 by coding it.

Created by: Dilip S

Produced in 2022

What you will learn

  • Complete understanding of Lambdas, Streams , Optional via code.
  • Students will be able to implement the new Java 8 concepts in real time
  • Learn to build complex Streams Pipeline.
  • Learn the new Date/Time Libraries in Java 8.
  • Learn to use Method Reference , Constructor reference syntax.
  • Learn and understand Parallel Programming with the Streams.
  • Student will be able to upgrade their Java knowledge with the new Functional Features.
  • This course will be continuously updated.

Quality Score

Content Quality
Video Quality
Qualified Instructor
Course Pace
Course Depth & Coverage

Overall Score : 92 / 100

Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a java course? Or looking for more detail on Dilip S's Modern Java - Learn Java 8 features by coding it? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

Course Description

Learn the new Java 8 Features by coding it. This is a pure coding course and you will get a complete understanding of all the Java 8 features by coding it.
Why Should I take this course ?
  • This course will help the Java developers to build their knowledge on the new Java 8 features.
  • All the new features such as Lambdas, Streams , Optionals, Functional Interfaces and Parallel Programming will be explained via code.
  • This course will give you the confidence on implementing new Java 8 features in real Java projects.
  • By the end of this course you will have a complete understanding of new Java 8 functional features.
Course Overview :
Section 1 - Getting Started:
  • This section explains about what will be covered in this course.
Section 2 - Why Java-8 ?:
  • This section covers Why Java 8 is important?.
  • This section explains about difference between Imperative Programming and Declarative Programming.
Section 3 - WorkSpace Setup - Mac/Windows:
  • This section covers the installation of Java and IntelliJ in Mac and Windows.
Section 4: Introduction to Lambda
  • This section covers the Why Lambda is needed , Lambdas Syntax and How to implement Lambdas ?
  • Implement the Runnable interface using Lambdas.
  • Implement the Comparator interface using Lambdas.
Section 5: Lambdas and Functional Interfaces
  • This section covers the new Functional Interfaces that got introduced as part of Java 8.
    • Consumer Functional Interface
    • Predicate Functional Interface
    • Function Functional Interface
    • Supplier Functional Interface.
Section 6 : Constructor and Method References
  • This section covers the new Method Reference and the Constructor Reference.
    • How Method Reference simplifies the code.
    • How to use Method reference along with Lambdas.
    • How to use Constructor Reference to create new objects.
Section 7 : Lambdas and Local variables ( Effectively Final )
  • This section covers the local variable and how it should used in Lambdas.
  • Definition of Effectively Final scope of a variable.
Section 8 : Streams API
  • This section covers the Streams API which is one of the important feature that got introduced as part of Java8.
  • How the Stream API Works Internally ?
  • How Collections are different from Streams ?
  • How to debug a Stream ?
Section 9 : Streams API Operations
  • This section covers different Streams API operations that can be used in Streams to achieve an objective.
  • Streams Operations such as :
    • map()
    • flatMap()
    • distinct()
    • count()
    • filter()
    • reducer()
    • Map, Filter and Reduce pattern.
    • max()
    • min()
    • limit()
    • skip()
    • allMatch(), anyMatch() and noneMatch()
    • findAny() and findFirst()
  • Explanation of Stream operations that are Short Circuit operations.
Section 10 : Streams API - Factory Methods
  • This section covers different Streams API factory method that can be used to create Streams.
Section 11: Numeric Streams
  • This section covers the Introduction to Numeric Streams which can be used to perform some numeric related operations.
Section 12: Terminal Operations Streams
  • This section covers different way to collect the data from the Streams Pipeline.
  • Terminal Operations such as :
    • joining()
    • counting()
    • mapping()
    • max(), min()
    • sum()
    • average()
    • groupingBy()
    • partitioningBy()
Section 12: Streams API - Parallel Processing
  • This section covers how to perform the Parallel processing using Streams.
  • How Parallel Programming makes use of the processors in your machine to perform concurrency operations?
  • How Parallel Programming works internally ?
  • How to check the performance between the sequential and parallel programming ?
  • Scenarios when not to use parallel programming.
Section 12: Optional
  • This section covers What is Optional and the benefits of Optional.
  • How Optional can help you avoid Null Pointer exception.
  • Exploring the different operations that are part of Optional such as :
    • empty()
    • ofNullable()
    • of()
    • orElse()
    • orElseGet()
    • orElseThrow()
    • isPresent()
    • ifPresent()
    • map()
    • flatMap()
    • filter()
Section 12: New Date/Time Libraries
  • This section covers new Date/Time Libraries such as LocalDate, LocalTime, LocalDateTime.
  • How to create/edit the LocalDate,LocalTime and LocalDateTime instances using different approaches.
  • How to find the difference between the LocalDate, LocalTime and LocalDateTime using Period, Duration.
  • How to represent the time in the Machine Readable Format using Instant.
  • How to use the TimeZone using the ZonedDateTime.
  • How to Format the Date using the DateTimeFormatter.
By the end of this course you will have a complete understanding of all the Java 8 features and implement it in real Java projects.Who this course is for:
  • Anyone willing to learn the new Java Features like Lambdas, Streams, Parallel Programming, New Data Time Libraries and etc.,
  • Java developers who would like to take their knowledge to the next level to write more concise and readable code

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

Instructor Details

Dilip S

Dilip is a software Engineer and tech savvy who have experience building software's since 2008.
He has a lot of passion towards learning new technologies, staying up to date with the all the new technologies, tools, frameworks and more. He would love to share the knowledge to the world and that's one of the key reasons to be in the Online Teaching Industry.
He loves interacting with other software developers. He believes the fact that interacting with software developers helps sharing the knowledge and learning from them.
During the leisure time I would love to play cricket , watch movies and working out in the gym to have a balance between physical and mental strength.
Dilip has a youtube channel named "Code With Dilip" where he had been sharing lot of technical content related to languages, framework, best practices and more.
-- D S.

Students also recommend






48 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

Course is good but I wanted in more short format as It will help us is learning more.

By Shah on

The pace at which the course is taught is amazing and covers almost everything you need to implement java 8 features on your real time projects.

This is a very good course, with just the right details to understand the new concepts in Java 8. The concepts are explained well and with good number of coding examples.

Learning a lot about Java 8 features. The content is a bit dry and mechanical at times not discussing how to solve interesting problems with these technologies. This is a great starting point but definitely need to find some deeper coverage on topics.

Excellent instructor! This course covers all the Java 8 concept. Highly recommended if you want to learn Java 8.

This course is a collection of java8 programs, which is good for practice. Few code need to be checked. In parallel streams examples if you call parallel-Stream method first and then call sequential-stream method to check the performance, then it's not working as expected.Good for java beginners !!!

This course helped me to understand Java8 concepts very easily and use them practically.Thank you Dilip, the way you explained each step was very helpful :)

yes good,understanding we.please provide few assignments with real time scenario's.

It's a great course if it is combined with a hands on approach. Good start to get familiar with all new functionalities for java 8 and try to extend them to your daily needs.

This course has completely cleared the air for me on understanding streams and its uses. Thanks.

Excellent course on lambdas, very detailed and explained, the date part of the course is a little bit repetitive but very explanatory in the end.I would sincerely recommend this course

Very good in getting hands-on experience of Java 8 new features. Can be used as a handy reference later