1 - Advanced Class Design:
Reviewing OCA Concepts, Using instanceof, Understanding Virtual Method Invocation, Annotating Overridden Methods, Coding equals, hashCode, and toString, Working with Enums, Creating Nested Classes, Summary & Exam Essentials
2 - Design Patterns and Principles:
Designing an Interface, Introducing Functional Programming, Implementing Polymorphism, Understanding Design Principles, Working with Design Patterns, Summary & Exam Essentials
3 - Generics and Collections:
Reviewing OCA Collections, Working with Generics, Using Lists, Sets, Maps, and Queues, Comparator vs. Comparable, Searching and Sorting, Additions in Java 8, Summary & Exam Essentials
4 - Functional Programming:
Using Variables in Lambdas, Working with Built-In Functional Interfaces, Returning an Optional, Using Streams, Working with Primitives, Working with Advanced Stream Pipeline Concepts, Summary & Exam Essentials
5 - Dates, Strings, and Localization:
Working with Dates and Times, Reviewing the String class, Adding Internationalization and Localization, Summary & Exam Essentials
6 - Exceptions and Assertions:
Reviewing Exceptions, Creating Custom Exceptions, Using Multi-catch, Using Try-With-Resources, Rethrowing Exceptions, Working with Assertions, Summary & Exam Essentials
7 - Concurrency:
Introducing Threads, Creating Threads with the ExecutorService, Synchronizing Data Access, Using Concurrent Collections, Working with Parallel Streams, Managing Concurrent Processes, Identifying Threading Problems, Summary & Exam Essentials
8 - IO:
Understanding Files and Directories, Introducing Streams, Working with Streams, Interacting with Users, Summary & Exam Essentials
9 - NIO.2:
Introducing NIO.2, Interacting with Paths and Files, Understanding File Attributes, Presenting the New Stream Methods, Comparing Legacy File and NIO.2 Methods, Summary & Exam Essentials
10 - JDBC:
Introducing Relational Databases and SQL, Introducing the Interfaces of JDBC, Connecting to a Database, Obtaining a Statement, Executing a Statement, Getting Data from a ResultSet, Closing Database Resources, Dealing with Exceptions, Summary & Exam Essentials
11 - Appendix A:
OCP 8 (1Z0-809), Upgrade from Java 7 (1Z0-810) & Upgrade from Java 6 or lower (1Z0-813)
12 - Appendix B:
Enhancing the Java Language, Formatting and Parsing, Applying Locks, Working with Directories, Summary & Exam Essentials
13 - Appendix C:
Method Details, Intrinsic Locks, Interface Details, Class ThreadLocalRandom, Class RandomAccessFile, Enum StandardOpenOption & Enum FileVisitResult
14 - Appendix D: How to Install JDK 8 (on Windows & Ubuntu):
Downloading JDK, Installing JDK on Microsoft Windows & Installing JDK on Ubuntu