Advanced Java Programming Course

About the Advanced Java Programming course

The Advanced Java Programming course will take you to the next level as a Java programmer. You will learn advanced Java programming concepts, and techniques to improve your code. The course also covers some of the new language features in the later versions of Java.

What others say

Why you want to attend

You should attend the Advanced Java Programming course if:
  • You are a Java programmer and you want to learn about the advanced aspects of the Java language.
  • You are a Java programmer and you want to learn to write better Java code.

What you need to know first

Before you attend the Advanced Java Programming course:
  • You must have attended our Java Programming course or already be comfortable with the fundamentals of the Java programming language.
  • You should have at least 6 months practical experience programming in Java.

Price and duration

Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:
  • All course material, provided in an electronic format.
  • An attendance certificate after the course, in PDF format.
Duration: 5 days. The Advanced Java Programming course is presented virtually. Find out more about our virtual training and how it works. Please check the course schedule for the next available date.

How to book

It’s so easy to book for the Advanced Java Programming course. Just email us at You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.

Detailed course contents


  • Review of the Java platform.
  • Distributed systems – RPC, RMI, CORBA, EJB
  • Overview of JEE architecture.
  • Overview of web services.
  • SOAP vs REST web services.
  • SOLID design principles.
  • Enterprise design techniques.

Enhanced Language Features

  • Java 1.4 assertions.
  • Java 5 – annotations, generics, enums, enhanced for loop, auto-boxing/unboxing, varargs, static imports.
  • Java 7 – binary literals, try-with-resources, multi-catch, type inference, strings in switches.
  • Java 8 – functional interfaces, default methods, functional programming, lambda expressions.
  • Java 9 – modularization, private methods in interfaces.
  • Java 10 – local variable type inference.
  • Java 14 – records and switch expressions.
  • Java 15 – multi-line text blocks and sealed classes.

JavaBeans and Canonical Classes

  • JavaBean rules.
  • Canonical classes.
  • Reflection API.
  • Garbage collection and memory management.


  • Object serialization.
  • JavaBean XML encoding.
  • Java Architecture for XML Binding (JAXB).
  • File I/O.
  • Java Database Connectivity (JDBC).
  • Java Persistence API (JPA).

Collections API

  • Collections, Sets, Lists, Maps, Queues.
  • Linked list, binary trees and hash tables.
  • Iterator and Enumeration interfaces.
  • Choosing the right collection and Big O notation.
  • Generic algorithms, sorting and searching.

Threads and Concurrency

  • Thread vs Runnable.
  • Thread lifecycle.
  • Thread synchronization.
  • Timers and TimerTasks
  • Concurrency API.
  • Executors and ExecutorServices.
  • Callables and Futures.


  • Overview of generic classes.
  • Syntax and type inference.
  • Type erasure.
  • Wildcards and bounds.

Lambdas and Streams

  • Functional programming overview.
  • @FunctionalInterface annotation.
  • Lambda expressions.
  • Default and static methods.
  • Method and constructor references.
  • Working with streams.
  • Stream pipelines.


  • Declarations, descriptors and directives.
  • Exports and requires keywords.
  • Services and ServiceLoaders.
  • Reflection in modules.
  • The unnamed module and automatic modules.

Download the course outline

Download the Advanced Java Programming course outline in PDF format.

Code like a Java Guru!

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.

Your Java tip is on its way!

Check that is an approved sender, so that your Java tips don’t land up in the spam folder.

Our privacy policy means your data is safe. You can unsubscribe from these tips at any time.