Advanced Java Programming Course

About the Advanced Java Programming course

Advanced Java Programming builds on the core Java language. It focuses on techniques that help developers write clearer and more reliable code.

You will learn advanced language features, important APIs, and modern Java capabilities. The aim is not only to learn new syntax. It is to understand how to use Java more effectively.

This helps developers write code that is easier to maintain, extend, and debug.

This course is for programmers who already know Java and want to improve their skills and write better production code.



Delegate feedback

Feedback from delegates who have attended this course:

Intended audience

This course is useful if:
  • You work with Java and need a clearer understanding of the advanced parts of the language.
  • You are responsible for Java code that must be reliable, maintainable, and safe to change.

Prerequisites

You should already be comfortable with the core features of the Java language, either through our Java Programming course or equivalent experience.

At least six months of practical Java coding experience is recommended so that the advanced topics build on a solid foundation.

Course details

Price: R15,800 excluding VAT per delegate.

Included:

  • Electronic course material.
  • Attendance certificate (PDF).

Duration: 5 days.

Delivery: Virtual classroom
See how virtual training works.

See the course schedule for upcoming dates.

Booking information

Email your booking to info@incusdata.com. A purchase order, or completed enrolment form is sufficient.

We will confirm the booking and issue an invoice.

Course contents

Java Overview

  • Review of the Java platform and editions.
  • Modern Java architecture and ecosystem.
  • Overview of distributed systems (RPC, RMI, CORBA, EJB).
  • Introduction to enterprise Java and JEE architecture.
  • Web services overview: SOAP vs REST.
  • SOLID design principles for maintainable code.

Modern Java Language Features

  • Assertions and defensive programming.
  • Annotations, enums and varargs.
  • Generics and type inference.
  • Enhanced for loops and auto-boxing.
  • Multi-catch and try-with-resources.
  • Functional programming and lambda expressions.
  • Default and private methods in interfaces.
  • Records, sealed classes and pattern matching.
  • Switch expressions and modern control flow.
  • Recent Java language enhancements and evolution.

Java Architecture and Runtime

  • JavaBeans and canonical class design.
  • Reflection API.
  • Memory management and garbage collection.
  • Writing maintainable and extensible classes.

Persistence and Data Access

  • Object serialization.
  • XML encoding and Java Architecture for XML Binding (JAXB).
  • File input and output.
  • Java Database Connectivity (JDBC).
  • Introduction to the Java Persistence API (JPA).

Collections and Data Structures

  • Collections framework overview: Lists, Sets, Maps and Queues.
  • Linked lists, trees and hash tables.
  • Iterator and Enumeration interfaces.
  • Choosing the right collection.
  • Algorithm efficiency and Big-O notation.
  • Sorting and searching techniques.

Concurrency and Multithreading

  • Thread creation and lifecycle.
  • Runnable vs Thread.
  • Thread synchronization and coordination.
  • Timers and scheduled tasks.
  • The Concurrency API.
  • Executors and ExecutorServices.
  • Callables, Futures and asynchronous tasks.
  • Virtual threads and modern concurrency.

Generics

  • Designing generic classes and methods.
  • Generic syntax and type inference.
  • Type erasure.
  • Wildcards and bounded types.

Lambdas and Streams

  • Functional programming concepts.
  • @FunctionalInterface annotation.
  • Lambda expressions.
  • Method and constructor references.
  • Stream pipelines.
  • Working with streams and functional operations.

Java Modularity

  • Java module system overview.
  • Module declarations and descriptors.
  • Exports and requires directives.
  • Services and ServiceLoader.
  • Reflection and modular applications.
  • Unnamed and automatic modules.

Download the course outline

Download the Advanced Java Programming course outline in PDF format.

Code like a Java Guru!

Your Java tip is on its way!

Check that incusdata.com 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.

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 info@incusdata.com

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.