Lambdas in Java - From Zero to Hero
What you'll learn
- Starting from the basics, gain in-depth knowledge about Lambdas and Streams using lots of examples
- Explore a variety of functional interfaces
- Understand how Lambda expressions are implemented in the JDK by looking at the byte code
- Complete understanding of Method references, Optional API, Comparator
- Explore numerous methods in the Stream API and the Collectors class
- Understand Reduction, flatMap, Parallel Streams, and when to use them
- Learn "good" coding practices as we discover these topics by a professional Java developer who has been working with the language for 14 years
- With plenty of exercises to solve, confidently demonstrate your understanding of Lambdas and Streams to future employers
Requirements
- Some (intermediate level) programming experience with Java
- A computer with the latest JDK and an IDE
- You need not have any experience with Lambdas and Streams since we start from the basics
- Desire to learn while still enjoying a few jokes!
Description
Join the most comprehensive course that covers Lambdas and Streams introduced in Java 8.
There are lots of exercises (along with the solution) at the end of a section that will help you gain confidence.
Using numerous real-life examples, you will learn:
What the Strategy pattern is
What kinds of problems do Anonymous classes solve?
Why do we need Lambda expressions?
How can Lambda expressions help us in writing concise code?
What are higher-order functions?
Deep dive into how Lambda expressions are implemented behind the scenes and -
Understand how to look at byte code using javap
Understand the role of the invokedynamic byte code instruction
What are Method Handles
Commonly used functional interfaces like Predicate, Function, Supplier, Consumer, BiConsumer -
How and where to apply them?
How are they used internally in the JDK library?
Function composition
Method references
Explore the Comparator interface
Numerous methods in the Stream API like - filter, map, collect, sorted, distinct
Understanding what a stream is
Understanding the important characteristics of a stream
Optional API and the right way to use them
Short-circuiting operations in the Stream pipeline
Understand why we need Primitive Streams
Reduction operations in the Stream pipeline and the importance of identity in Reduction
Explore the Collectors API
Explore flatMap and other sources of creating Streams
Explore Parallel Streams -
1. What is Moore's law?
2. Why do we need Parallel streams?
3. When should we use Parallel streams?
4. What is the infrastructure behind the scenes when we use Parallel streams?
5. How does Reduction work in parallel streams?
6. Role of the Spliterator
Learn how to debug and visualize Java 8 Streams with Eclipse & Intellij
and more!
Students completing the course will have a solid, in-depth knowledge of writing concise code using many features that have truly revolutionized how we write code in Java.
What if you have questions?
I offer full support, 7 days a week, answering any questions you have.
What version of Java should you use?
I am using Java 14 for all the demos since that is the latest version when recording this course. I would urge you to use the latest version of Java. However, the focus will be on Lambdas, Streams, and lots of other features introduced in Java 8 as mentioned above.
Who this course is for:
- This course is for Java developers who want to get a solid understanding of Lambdas and Streams introduced in Java 8
Instructor
I am a software architect on paper but a developer at heart.
After working as a software developer, technical lead, and architect for 14 years in the Java ecosystem for various companies, I decided to follow my calling, which is to teach. Even when I was working, using my hands-on experience as a software developer, I have delivered lectures on C++, Java, Spring framework, and Design patterns.
I am also a blogger where I write about Java, Spring, Hibernate, and Data structures.
I love playing and watching football.
Data is all around us, but knowledge is not - whether it was my graduation or in my job, many a time, I had to learn technical concepts the hard way. I am here to make it easy for you.
See you in the course...