
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
In this lecture, I will give an introduction to the course.
In this lecture, I will cover the prerequisites that are needed for this course.
This lecture has the source code thats done in this course.
In this lecture, I will give you all an introduction to modern Java and why its a must to keep up to date with Java.
In this lecture, we will download and install the latest version of Java in our machine.
In this lecture, we will setup the base project for the course.
In this lecture, we will code and learn about the LVTI and how to use them in practice.
In this lecture, we will code and learn about the limitations of the usage of LVTI.
In this lecture, we will code and learn about the usage of TextBlocks and how it can enhance the usage of Strings in Java.
In this lecture, we will code and learn about the new Switch which is an expression.
In this lecture, we will code and learn to implement the multiline case blocks using "yield".
In this lecture, we will code and learn to exhaustive nature of the Switch expression.
In this lecture, we will code and learn about the record classes and the learn about the benefits of them.
In this lecture, we will code and learn about the constructors and additional validations that can be added to a record class.
In this lecture, we will code and learn about comparing record objects and override the default behavior.
In this lecture, we will code and learn about sealed classes or interfaces.
In this lecture, we will code and explore the different options that are available for sealed classes of subclasses.
In this lecture, we will code and learn about using abstract classes as sealed classes.
In this lecture, we will code and learn about using selaed and interfaces together.
In this lecture, we will code and explore the pattern matching and talk about the benefits of it.
In this lecture, we will code and explore the pattern matching on records.
In this lecture, we will code and explore guarded patterns.
Learn the new Modern Java Features by coding it. This is a pure coding course and you will get a complete understanding of all the latest Java 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 features.
All the new features such as:
Local Variable Type Inference
Text Blocks
Enhanced Switch
Records
Sealed Classes/Interfaces
Pattern Matching
Simple Web Server
New Http Client
Java Platform Module System (JPMS)
This course will give you the confidence on implementing new Java features in real Java projects.
By the end of this course you will have a complete understanding of new Java features and how to use them in your day to day project.
Course Overview :
Section 1 - Getting Started:
This section explains about what will be covered in this course.
Section 2 : Introduction to Modern Java : Big Picture
In this section, I will give you all an introduction to Modern Java.
Section 3: Local Set Up
In this section, we will set up the latest java environment and base project for this course.
Section 4: Local Variable Type Inference (LVTI) using var
In this section, we will code and learn about the LVTI feauture to simply local variable declaration using type inference.
Section 5: Text Blocks
In this section, we will code and learn about the TextBlocks which enhances the power of String in Java.
Section 6: Enhanced Switch
In this section, we will code and learn about the new Switch which is an expression.
Switch - as an Expression
Multiline switch expression using "yield"
Enhanced Switch are exhaustive
Section 7 : Records
In this section, we will code and explore the record classes concept in Modern Java.
Records Classes
Custom Constructors and Validations in Record Classes
Object Equality in Record Clases
Section 8 : Pattern Matching
In this section, we will code and learn about pattern matching.
Introduction to Pattern Matching
Record Patterns - Pattern Matching on Records
Guarded Patterns
Section 9 : ChekoutService Application [ Real Time Usecase]
In this section, we will implement a realtime application using all the modern java concepts that we have learned so far.
Section 10 : Simple Web Server
In this section, I will give you a demonstration of jwebserver and how it serves the files and folders as resources.
Section 11 : New Http Client
In this section, we will code and explore the new HTTP Client that has support for HTTP2/Websockets.
New HttpClient - GET Request to retrieve movie by ID
JUnit test for the HTTP Client
Build HTTPClient in Asynchronous mode
Build HTTP Client - GET Request to Retrieve AllMovies
Section 12 : Java Platform Module System (JPMS)
In this section, we will code and learn about how to build java application using JPMS or modules.
Introduction to JPMSBuild a Java app using JPMS
Working with Multiple Modules
Working with Multiple Modules - Transitively
Unnamed Modules and Automatic Modules
By the end of this course you will have a complete understanding of all the Latest Java features and implement it in real Java projects.