java8-learning icon indicating copy to clipboard operation
java8-learning copied to clipboard

Learn Java 8 by reviewing OCA and OCP

Java8 learning

Language
Preparation for Oracle® Certified Professional Java® SE 8 Programmer II

Table of Contents

  • Advanced Class Design
  • Design Patterns and Principles
  • Generics and Collections
  • Functional Programming
  • Dates, Strings, and Localization
  • Exceptions and Assertions
  • Concurrency
  • IO
  • NIO.2
  • JDBC

Advanced Class Design

  • Anonymous Inner Class
  • Hash Code
  • Local Inner Class
  • Member Inner Class
  • Polymorphism
  • Static Nested Class

Design Patterns and Principles

  • Builder Pattern
  • Composing Objects
  • Define Functional Interface
  • Desing Interface
  • Extend Interface
  • Factory Pattern
  • Immutable Object
  • Implementing Functional Interfaces With Lambdas
  • Implementing Polymorphism
  • One Object Take Many Different Forms
  • Singleton Pattern1
  • Singleton Pattern2
  • Singleton Pattern3

Generics and Collections

  • Array and ArrayList
  • Comparing Multiple Fields
  • Generic Bound
  • Generic Class
  • Generic Interface
  • Searching and Sorting
  • Using Comparable
  • Using Comparable1
  • Using Comparator
  • Using List
  • Using Map
  • Using Queue
  • Using Set
  • Wrapper Classes and Autoboxing

Functional Programming

  • Built-in Functional Interfaces
  • Returning an Optional
  • Stream Common Intermediate Oprations
  • Stream Common Terminal Operations
  • Stream Sources
  • Stream Working with Primitives
  • Using Variables in Lambdas
  • Working with Advanced Stream Pipeline Concepts

Dates, Strings, and Localization

  • Dates and Times
  • Formatting Dates and Times
  • Formatting Numbers
  • Internationalization and Localization

Exceptions and Assertions

  • Assertions
  • Calling Methods that Throw Exceptions
  • Catching Various Types of Exceptions
  • Common Exception Types
  • Creating Custom Exceptions
  • Exception Intro
  • Nested Exception
  • Try with Resources
  • Using Multi-Catch

Concurrency

  • Creating Threads with the ExecutorService
  • Identifying Threading Problems
  • Introducing Threads
  • Managing Concurrent Processes
  • Synchronizing Data Access
  • Using Concurrent Collections
  • Working with Parallel Streams

IO

  • File Class
  • Iteracting with Users
  • Streams
  • Streams Continue

NIO.2

  • Creating Paths
  • Interacting with Paths and Files
  • New Stream Methods
  • Understanding File Attributes

JDBC

  • Connecting a DataBase