Exam 1Z0-810: Upgrade Java SE 7 to Java SE 8 OCP Programmer Study Guide

Mikalai Zaikin


Belarus
Minsk

Redistribution of this document is permitted as long as it is not used for profits.

January 2017

Revision History
Revision $Revision: 321 $$Date: 2017-01-08 21:14:59 +0300 (Sun, 08 Jan 2017) $$Author: mzaikin $
$Id: ocpjp8-upgrade-guide.xml 321 2017-01-08 18:14:59Z mzaikin $

Abstract

The purpose of this document is to help in preparation for Upgrade Java SE 7 to Java SE 8 OCP Programmer Test (Exam 1Z0-810).

This document should not be used as the only study material for Upgrade Java SE 7 to Java SE 8 OCP Programmer Test (Exam 1Z0-810). It might cover not all objective topics, and it might be not enough. I tried to make this document as much accurate as possible, but if you find any error, please let me know.


Preface
I. Exam Objectives
1. Lambda Expressions
1.1. Describe and develop code that uses Java inner classes, including nested class, static class, local class, and anonymous classes
1.2. Describe and write functional interfaces
1.3. Describe a lambda expression; refactor the code that uses an anonymous inner class to use a lambda expression; describe type inference and target typing
2. Using Built-in Lambda Types
2.1. Describe the interfaces of the java.util.function package
2.2. Develop code that uses the Function interface
2.3. Develop code that uses the Consumer interface
2.4. Develop code that uses the Supplier interface
2.5. Develop code that uses the UnaryOperator interface
2.6. Develop code that uses the Predicate interface
2.7. Develop code that uses the primitive and binary variations of the base interfaces of the java.util.function package
2.8. Develop code that uses a method reference, including refactoring a lambda expression to a method reference
3. Filtering Collections with Lambdas
3.1. Develop code that iterates a collection by using the forEach() method and method chaining
3.2. Describe the Stream interface and pipelines
3.3. Filter a collection by using lambda expressions
3.4. Identify the lambda operations that are lazy
4. Collection Operations with Lambda
4.1. Develop code to extract data from an object by using the map() method
4.2. Search for data by using methods such as findFirst(), findAny(), anyMatch(), allMatch(), and noneMatch()
4.3. Describe the unique characteristics of the Optional class
4.4. Perform calculations by using Java Stream methods, such as count(), max(), min(), average(), and sum()
4.5. Sort a collection by using lambda expressions
4.6. Develop code that uses the Stream.collect() method and Collectors class methods, such as averagingDouble(), groupingBy(), joining(), and partitioningBy()
5. Parallel Streams
5.1. Develop code that uses parallel streams
5.2. Implement decomposition and reduction in streams
6. Lambda Cookbook
6.1. Develop code that uses Java SE 8 collection improvements, including Collection.removeIf(), List.replaceAll(), Map.computeIfAbsent(), and Map.computeIfPresent() methods
6.2. Develop code that uses Java SE 8 I/O improvements, including Files.find(), Files.walk(), and lines() methods
6.3. Use the merge() and flatMap() methods
6.4. Develop code that creates a stream by using the Arrays.stream() and IntStream.range() methods
7. Method Enhancements
7.1. Add static methods to interfaces
7.2. Define and use a default method of an interface and describe the inheritance rules for the default method
8. Use Java SE 8 Date/Time API
8.1. Create and manage date- and time-based events, including a combination of date and time in a single object, by using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
8.2. Work with dates and times across time zones and manage changes resulting from daylight savings, including format date and times values
8.3. Define, create, and manage date- and time-based events using Instant, Period, Duration, and TemporalUnit
Bibliography
Professional hosting         Free 'Oracle Certified Expert Web Services Developer 6' Guide     Exam 1Z0-810: Upgrade to Java SE 8 Programmer Quiz