-
Course
- Core Tech
What's New in Java 8
A quick overview of most of the new features of Java 8. The course covers lambda expressions and the Stream API but also many new additions scattered all around the JDK. JavaFX and Nashorn are also quickly covered.
What you'll learn
This course covers the most useful parts of Java 8. This update of the Java platform is the biggest of all. It's even bigger than Java 5 that saw the introduction of generics. We'll begin with lambda expressions and the Stream API, which bring new fundamental patterns to the Java platform. Many problems solved with the Iterator pattern are now solved much more efficiently with the patterns brought by the Stream API. But Java 8 is not only about lambdas, streams and collectors, there is also a new Java Date and Time API which are covered in this course. This API fixes all the flaws of the previous Date/Calendar API and brings new, very useful, concepts and tools. Many new features that bring a functional programming approach have been added to the Collection API. This is also covered in detail. Many more things are covered; little things, scattered here and there in the JDK, like this new StringJoiner class, useful to join strings with a prefix, a postfix, and a separator. JavaFX and Nashorn are also quickly covered, to show the FXML way to describe Graphical User Interfaces, and the new ways to describe JavaFX in Javascript using Nashorn.
Table of contents
- Introduction, Targeted Audience | 2m 50s
- Module Outline | 1m 19s
- The FileFilter Example | 3m 23s
- A First Lambda Expression | 2m 40s
- Live Coding: A First Lambda Expression | 3m 12s
- Live Coding: Runnable and Comparator Examples | 3m 48s
- Several Ways of Writing Lambda Expressions | 1m 16s
- Three Questions About Lambda Expressions | 1m 18s
- Functional Interfaces | 4m 34s
- Is a Lambda Expression an Object? | 4m 6s
- The Functional Interfaces Toolbox | 4m 34s
- Method References | 2m 36s
- Processing Collections with Lambdas | 2m 24s
- Changing the Way Interfaces Work? | 3m 10s
- Default and Static Methods in Java 8 Interfaces | 1m 51s
- New Patterns: The Predicate Interface Example | 2m 38s
- Live Coding: New Patterns Examples | 2m 38s
- Module Wrap Up | 1m 7s
- Version Check | 15s
- Introduction, Module Outline | 1m 11s
- The Map / Filter / Reduce Algorithm | 3m 6s
- What Is a Stream? | 2m 49s
- Definition of a Stream in Java 8 | 3m 55s
- Building and Consuming a Stream | 3m 8s
- Filtering a Stream | 3m 54s
- Live Coding: Consuming and Filtering a Stream | 2m 36s
- Lazy Operations on a Stream | 5m
- Live Coding: Intermediary and Terminal Operations | 3m 29s
- Wrapping up Intermediary and Terminal Operations | 50s
- The Map Operation | 2m 7s
- The Flatmap Operation | 1m 29s
- Live Coding: Map and Flatmap Examples | 4m 9s
- Wrapping up Map and Filter on a Stream | 28s
- Reduction, Functions, and Bifunctions | 2m 6s
- Reduction of the Empty Set: Identity Element | 2m 21s
- Optionals | 3m 4s
- Pattern for the Optionals | 1m 13s
- Wrapping up Reduction Operations | 1m 21s
- Terminal Operations | 2m 30s
- Live Coding: Reductions, Optionals | 5m 36s
- Wrapping up Operations and Optionals | 47s
- Collectors, Collecting in a String, in a List | 1m 53s
- Collecting in a Map | 1m 41s
- Live Coding: Processing Streams | 8m 49s
- Wrapping Module | 3m 7s
About the author
Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language. Assistant professor in Paris North University for more than 15 years, Jose also brings his expertise to many projects, in various industrial fields.
More Courses by Jose