This program allows participants to prepare for a course to develop their Java language skills and prepare for the Oracle Certified Professional, Java SE 8 Programmer Exam.

Addressed to

  • Candidates who are interested in continuing their knowledge of Java SE8 and who are seeking the Java SE 8 Programmer certification


40 hours


  • Face-to-face

  • Virtual live through digital platforms

  • on site

Related Courses

  • Java SE 8 Fundamentals

It includes

  • 40 hours of training

  • Trained instructors

  • Participant manual in digital format

  • Proof of participation


Lesson 1: Java Platform Overview

  • Define how the Java language achieves platform independence.

  • Differentiate between the Java ME, Java SE, and Java EE platforms

  • Evaluating Options for Java Databases, Middleware, and Libraries

  • Define how the Java language continues to evolve.

Lesson 2: Java Class and Syntax Review

  • Create simple Java classes

  • Creating primitive variables

  • Using operators

  • Create and manipulate strings

  • Using if-else and switch statements

  • Iterating with loops: while, do-while, for, enhanced for

  • Creating arrays

  • Using Java fields, constructors, and methods

Lesson 3: Encapsulation and Subclassification

  • Using Encapsulation in Java Class Design

  • Modeling business problems using Java classes

  • Make classes immutable

  • Creating and using Java subclasses.

  • Overload Methods

Lesson 4: Predominant methods, polymorphism and static classes.

  • Use of access levels: private, protected, default and public.

  • primordial methods

  • Using virtual method invocation

  • Using varargs to specify variable arguments

  • Using the instanceof operator to compare object types

  • Wear up and down casts

  • Model business problems by using the static keyword

  • Implementation of the singleton design pattern

Lesson 5: Abstract and Nested Classes

  • Design general-purpose base classes using abstract classes

  • Construction of Java abstract classes and subclasses

  • Apply the final keyword in Java

  • Distinguish between top-level and nested classes

Lesson 6: Interfaces and Lambda Expressions

  • Defining a Java interface

  • Choosing between interface inheritance and class inheritance

  • Extension of an interface

  • Default Methods

  • Anonymous inner classes

  • Defining a Lambda expression

Lesson 7: Collections and Generics

  • Create a custom generic class

  • Use the type inference diamond to create an object

  • Creating a collection using generics

  • ArrayList Implementation

  • Implementation of a TreeSet

  • Implement a HashMap

  • Implementation of a Deque Ordering Collections

Lesson 8: Collections, Streams and Filters.

  • Describe the Builder pattern

  • Iterating through a collection using lambda syntax

  • Description of the Stream interface

  • Filter a collection using lambda expressions

  • Call an existing method using a method reference

  • Chain multiple methods together

  • Definition of pipelines in terms of lambdas and collections.

Lesson 9: Lambda Integrated Functional Interfaces

  • List of built-in interfaces included in java.util.function

  • Main interfaces: predicate, consumer, function, provider

  • Use primitive versions of base interfaces

  • Use binary versions of base interfaces

Lesson 10: Lambda Operations

  • Extract data from an object using the map

  • Describe the types of stream operations

  • Describing the optional class

  • Describe lazy processing

  • Order a sequence

  • Save results to a collection using the collect method

  • Group and partition data using the Collectors class

Lesson 11: Exceptions and Assertions

  • Defining the purpose of Java exceptions

  • Using try and throw statements

  • Use of catch, multi-catch and finally clauses

  • Automatically close resources with a test statement with resources

  • Recognize classes and categories of common exceptions

  • Create custom exceptions

  • Proof of invariants using assertions

Lesson 12: Java Date/Time API

  • Create and manage date-based events

  • Create and manage time-based events.

  • Combine date and time in a single object

  • Work with dates and times in different time zones

  • Management of changes resulting from daylight saving time

  • Definition and creation of timestamps, periods and durations.

  • Format local and zoned dates and times

Lesson 13: I/O Basics

  • Describe the basic concepts of input and output in Java.

  • Read and write data from the console

  • Using streams to read and write files

  • Write and read objects using serialization.

Lesson 14: File I/O (NIO.2)

  • Using the path interface to operate on file and directory paths

  • Use the Files class to check, delete, copy, or move a file or directory

  • Using the Stream API with NIO2

Lesson 15: Simultaneity

  • Describe operating system task scheduling.

  • Create worker threads using Runnable and Callable

  • Use an ExecutorService to execute tasks at the same time

  • Identifying Potential Threading Issues

  • Using Synchronized and Concurrent Atomic to Manage Atomicity

  • Use monitor locks to control thread execution order

  • Using the java.util.concurrent collections

Lesson 16: The Fork-Join Framework

  • Parallelism

  • The need for Fork-Join

  • job theft

  • RecursiveTask

Lesson 17: Parallel Currents

  • Review of the key characteristics of the currents

  • Describe how to make a flow pipeline run in parallel.

  • List the key assumptions required to use a parallel pipeline.

  • Definition of reduction

  • Describe why reduction requires an associative function.

  • Calculate a value using reduce

  • Describe the process for decomposing and then merging the work.

  • List the key performance considerations for parallel streams

Lesson 18: Database Applications with JDBC

  • Defining the JDBC API Design

  • Connect to a database using a JDBC driver

  • Send queries and get results from the database.

  • Specify JDBC driver information externally

  • Performing CRUD operations using the JDBC API

Lesson 19: Location

  • Describe the benefits of localizing an application.

  • Definition of what a locality represents

  • Read and set the locale using the Locale object

  • Create a resource pack for each location.

  • Call a resource bundle from an application

  • Change the locale for a resource pack

Leave a Reply

Your email address will not be published.