I've worked my way through the two Java 11 Study Guides by Selikoff/Boyarsky (excellent books). I passed the 1Z0-815 and was preparing fo the 1Z0-816 when Oracle retired those exams. Since I have a Java 6 certification I've decided to just take the 1Z0-817.
Here are the topics covered on 1Z0-817 and I've written the chapters from the two study guides I think I need to review prior to the exam. Any help on if I've missed something please let me know.
https://education.oracle.com/upgrade-ocp-java-6-7-8-to-java-se-11-developer/pexam_1Z0-817
Review exam topics
Understanding Modules (Book 1 - Chap 11 )
- Describe the Modular JDK
- Declare modules and enable access between modules
- Describe how a modular project is compiled and run
Migration to a Modular Application (Book 2 - Chap 6)
- Migrate the application developed using a Java version prior to SE 9 to SE 11 including top-down and bottom-up migration, splitting a Java SE 8 application into modules for migration
- Use jdeps to determine dependencies and identify way to address the cyclic dependencies
Services in a Modular Application (Book 2 - Chap 6)
- Describe the components of Services including directives
- Design a service type, load services using ServiceLoader, check for dependencies of the services including consumer and provider modules
Local Variable Type Inference (Book 1 - Chap 2)
- Use local variable type inference
- Create and use lambda expressions with local variable type inferred parameters
Java Interfaces (Book 1 Chap 6 and Chap 9)
- Create and use methods in interfaces
- Define and write functional interfaces
Lambda Expressions (Book 1 Chap 6)
- Create and use lambda expressions
- Use lambda expressions and method references
- Use built-in functional interfaces including Predicate, Consumer, Function, and Supplier
- Use primitive and binary variations of base interfaces of java.util.function package
Lambda Operations on Streams (Book 2 Chap 4)
- Extract stream data using map, peek and flatMap methods
- Search stream data using search findFirst, findAny, anyMatch, allMatch and noneMatch methods
- Use the Optional class
- Perform calculations using count, max, min, average and sum stream operations
- Sort a collection using lambda expressions
- Use Collectors with streams, including the groupingBy and partitioningBy operation
Parallel Streams (Book 2 Chap 7)
- Develop the code that use parallel streams
- Implement decomposition and reduction with streams
Java File I/O (NIO.2) (Book 2 Chap 9)
- Use Path interface to operate on file and directory paths
- Use Files class to check, delete, copy or move a file or directory
- Use Stream API with Files
Language Enhancements (Book 1 Chap 10 and Book 2 Chap 5)
- Use try-with-resources construct
- Develop code that handles multiple Exception types in a single catch block