Welcome to ONLC Training Centers

Java Programming Level 3: Developer Deep Dive

Class Dates
(click date for class times)
(click Enroll for locations)

Fee:  $2795

Savings options:

 Learning Credits
Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Need a class for a group?

We can deliver this class for your group. Follow the link to request more information.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Train from your home or office

If you have high-speed internet and a computer you can likely take this class from your home or office.

Java Programming Level 3: Developer Deep Dive Course Outline

This is a deep dive course for experienced Java programmers who are looking to take their Java skills to the next professional level. Students will learn: object-oriented design principles; how to make best use of Java libraries; multithreading and concurrent processing; Network, Java GUI, and Functional programming; advanced data processing; and the best design and programming practices

Students already familiar with Java programming.

Students should have experience with Java and working knowledge of the skills covered in Core Skills: Level 1 and Core Skills: Level 2. Specifically, you should know how Java works and its place in the world of programming languages; how to work with and manipulate strings; how to perform math operations; how to work with Java operators and loops; Object Oriented Programming concepts; how to make best use of the Java collections framework; best practices for dealing with exceptions; how to package Java code; and how to work with external data storage systems. Additionally, you should be familiar with: applying encryption; working with processes and regular expressions; functional programming with lambda expressions; processing data with streams; functional interfaces; and unit testing.

For more information on the Level 1 and 2 courses, go to:
Java Programming Level 1: Introduction for Programmers
Java Programming Level 2: Advanced Programming Techniques

Course Outline

Section 1: Overview of Java Programming

1 Getting Started with Java 12
How to install and run Java
How to install and run an IDE
Java primitive types and operators
String types and literals
Identifiers and variables
Java statements

2 Java Object-Oriented Programming (OOP)
OOP concepts
Overloading, overriding, and hiding
Final variable, method, and classes
Polymorphism in action

3 Java Fundamentals
Packages, importing, and access
Java reference types
Reserved and restricted keywords
Usage of the this and super keywords
Converting between primitive types
Converting between primitive and reference types

Section 2: Building Blocks of Java

4 Exception Handling
Java exceptions framework
Checked and unchecked exceptions
The try, catch, and finally blocks
The throws statement
The throw statement
The assert statement
Best practices of exceptions handling

5 Strings, Input/Output, and Files
Strings processing
I/O streams
File management
Apache Commons utilities FileUtils and IOUtils

6 Data Structures, Generics, and Popular Utilities
List, Set, and Map interfaces
Collections utilities
Arrays utilities
Object utilities
java.time package

7 Java Standard and External Libraries
Java Class Library
External libraries

8 Multithreading and Concurrent Processing
Thread versus process
User thread versus daemon
Extending class thread
Implementing interface Runnable
Extending thread vs implementing Runnable
Using pool of threads
Getting results from thread
Parallel vs concurrent processing
Concurrent modification of the same resource

9 JVM Structure and Garbage Collection
Java application execution
Java processes
JVM structure
Garbage collection

10 Managing Data in a Database
Creating a database
Creating a database structure
Connecting to a database
Releasing the connection
CRUD data

11 Network Programming
Network protocols
UDP-based communication
TCP-based communication
UDP versus TCP protocols
URL-based communication
Using the HTTP 2 Client API

12 Java GUI Programming
Java GUI technologies
JavaFX fundamentals
Hello with JavaFX
Control elements
Applying CSS
Using FXML
Embedding HTML
Playing media
Adding effects

Section 3: Advanced Java

13 Functional Programming
What is functional programming?
Standard functional interfaces
Lambda expression limitations
Method references

14 Java Standard Streams
Streams as a source of data and operations
Stream initialization
Operations (methods)
Numeric stream interfaces
Parallel streams

15 Microservices
What is a microservice?
The size of a microservice
How microservices talk to each other
The reactive system of microservices

View outline in Word


Attend hands-on, instructor-led Java Programming Level 3: Developer Deep Dive training classes at ONLC's more than 300 locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of Courses and select the one that's right for you.


Class Format
Class Policies
Student Reviews

First Name

Last Name