Modern Java – Learn Java 8 features by coding it Download
Learn Lambdas, Streams , new Date APIs, Optionals and Parallel programming in Java 8 by coding it.
What you’ll learn
- Learn Functional programming in Java
- 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.
Requirements
- Students should have a basic knowledge about Java.
- Students should have knowledge about IDE such as Eclipse, Intellij IDEA
- At least Java 8 is needed for this course. Any Java version greater than Java 8 works too
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