Publication date : 02/07/2024

Course : Java, advanced programming

Practical course - 5d - 35h00 - Ref. JAP
Price : 2610 € E.T.

Java, advanced programming




The main objective is to present an overview of the main libraries for thread management, network communications, application administration and supervision. The course also presents the architectural principles underlying compositional application construction.


INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Disponible en anglais, à la demande

Ref. JAP
  5d - 35h00
2610 € E.T.




The main objective is to present an overview of the main libraries for thread management, network communications, application administration and supervision. The course also presents the architectural principles underlying compositional application construction.


Teaching objectives
At the end of the training, the participant will be able to:
Implement thread-based concurrent programming
Implement various communication techniques (Socket, RMI, JMS)
Administer a Java application via JMX, monitor the JVM
Implement reflexive and annotation-based programming

Intended audience
Developers, engineers, project managers close to development.

Prerequisites
Good knowledge of Java. Experience in Java programming required.

Practical details
Hands-on work
This course illustrates the principles outlined above through the progressive construction of a Java application.

Course schedule

1
Concurrent programming

  • Concepts of multithreaded programming: Java's activity model (Runnable and Thread).
  • Thread creation/destruction. Thread scheduling.
  • Thread synchronization. Method and instruction locking (synchronized). Monitors.
  • Some multithreaded problems: interblocking (characterization, avoidance, prevention, detection), starvation.
  • Model extensions introduced in Java.5 (Callable<T>, Future<T>, ExecutorService. New collections.
  • Java 7's Fork/Join model. Java 8 extensions (CompletableFuture).
  • Various competition management tools: shared/exclusive locks, semaphores, cyclic barriers.
Hands-on work
Building a multithreaded application with concurrency constraints.

2
Socket communication

  • Reminder of the main network concepts.
  • Communication in connected mode.
  • The client/server model. Sequential server versus concurrent server. Use of serialization.
  • Programming in offline mode. The Peer to Peer model.
Hands-on work
Programming the case study in client-server mode (sequential and concurrent).

3
Communication via remote method invocation : RMI

  • General principles of ORBs (Object Request Brokers).
  • The RMI model (concepts, interfaces, basic classes).
  • The naming service.
  • The client and server development process.
  • Safety and class loading constraints.
Hands-on work
Programming the case study using RMI.

4
Message-based communication: JMS

  • General principles of message communication.
  • The basic model (JMS concepts, interfaces and classes).
  • The different forms of messages.
  • Point-to-point communication.
  • Publish/subscribe communication.
Hands-on work
Programming the case study using JMS.

5
Application administration : JMX

  • The JMX (Java Management eXtension) model: concepts, interfaces and corresponding classes.
  • MBeans and MBeanServers.
  • Setting up an administration layer.
  • The administration console (JConsole).
  • Communication using adapters and connectors.
Hands-on work
Setting up an administration-supervision layer for the case study.

6
Reflective programming

  • Objectives and principles.
  • Dynamic discovery of information about a class or object.
  • Dynamic instantiation and invocation.
  • Reflexivity and annotations in Java 5.
Hands-on work
Programming the case study in client-server mode (sequential and concurrent).

7
An overview of extensions from Java 5 to...

  • Types: generics, enumerations, autoboxing/autounboxing, records.
  • Lambda-expressions, functional interfaces.
  • Java 8 streams.
  • Java 9 modules.


Customer reviews
4,6 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
FABIEN D.
13/10/25
5 / 5

short
WILLIAM S.
13/10/25
4 / 5

The trainer is very competent and has an excellent background which enabled us to get 'spot on' answers to all our questions.
PAUL C.
06/10/25
5 / 5

I'm very satisfied with the teaching method used, the theoretical explanations are understandable and the exercises are accessible enough to introduce the subject while leaving the possibility of going further in terms of design.



Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class

Dernières places
Date garantie en présentiel ou à distance
Session garantie

REMOTE CLASS
2026 : 9 Mar., 13 Apr., 18 May, 7 Sep., 12 Oct., 2 Nov., 16 Nov.

PARIS LA DÉFENSE
2026 : 9 Mar., 18 May, 12 Oct., 16 Nov.