Java 8 introduced lambda and stream api, which changes java landscape. If Object oriented makes java mighty, functional programming gives java magic -- essence of interface and anonymous class are abstracted into lambda expressions as natural english like one liners, collections are now processed as generic riddled streams (sometimes in parallel) lazily by machineries you don't have to care, which changes how you write the concurrency, NIO2 code in the future, forever -- you now write spells instead of for loops.
Use the Site Search at the upper left corner to search keywords.
The java documents are the best official documents on java 8 features, written by java.util.stream and java.util.function developers.
Java Class Design
Advanced Java Class Design
Create inner classes including static inner class, local class, nested class, and anonymous inner class
Generics and Collections
Lambda Built-in Functional Interfaces
Use the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
Java Stream API
Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch
Save results to a collection using the collect method and group/partition data using the Collectors class
Exceptions and Assertions
Use Java SE 8 Date/Time API
Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times values
Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
Java I/O Fundamentals
Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.iopackage.
Java File I/O (NIO.2)
Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance
Building Database Applications with JDBC
Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
Identify the components required to connect to a database using the DriverManager class including the JDBC URL
Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections