What's New in Java 8
Pluralsight
Course Summary
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.
-
+
Course Description
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.
-
+
Course Syllabus
Introduction to Lambda Expressions in Java 8- 49m 34s
—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 7sJava 8 Stream API and Collectors- 1h 12m
—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 0s
—Lice Coding: Intermediary and Terminal Operations 3m 29s
—Wrapping up Intermediary and Terminal Operations 0m 50s
—The Map Operation 2m 7s
—The Flatmap Operation 1m 29s
—Lice Coding: Map and Flatmap Examples 4m 9s
—Wrapping Up Map and Filter on a Stream 0m 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 0m 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 7sJava 8 Date and Time API- 32m 21sStrings, IO, and Other Bits and Pieces- 52m 46sIntroduction to Java FX 8- 28m 11sNashorn: A JavaScript Engine on the JVM- 19m 32s