Publication date : 03/13/2024

Course : Java optimization (communication aspects, interaction with BD)

Practical course - 4d - 28h00 - Ref. JOD
Price : 2100 € E.T.

Java optimization (communication aspects, interaction with BD)




This course presents the main techniques for optimizing the performance of Java applications, focusing on "input/output" (collection, IO), "interactions with a DB" (JDBC) and JVM mechanisms that have a major impact on the performance of such applications.


INTER
IN-HOUSE
CUSTOM

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

Ref. JOD
  4d - 28h00
2100 € E.T.




This course presents the main techniques for optimizing the performance of Java applications, focusing on "input/output" (collection, IO), "interactions with a DB" (JDBC) and JVM mechanisms that have a major impact on the performance of such applications.


Teaching objectives
At the end of the training, the participant will be able to:
Optimize the Java code of an application (strongly interacting with a DB) to improve performance
Mastering optimization tools
Optimizing memory management
Optimize use of standard libraries (especially JDBC)

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

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

Practical details
Hands-on work
Theoretical sequences alternate with practical work.

Course schedule

1
Optimization methodology and tools

  • The elements involved in optimizing Java applications.
  • Elements of the methodology.
  • Profiling, testing and support tools.
Hands-on work
Use of a profiling tool (VisualVM or JFR) and a unit testing tool (JUnit).

2
Optimization and language

  • Different execution and compilation modes.
  • Types, instructions and methods.
  • String manipulation.
Hands-on work
Improved benchmark application performance.

3
Memory optimization and management

  • Object management by the JVM (creation, copying).
  • The use of caches.
  • Choice of GCs (algorithms, parameterization, activity visualization).
  • Memory saturation (causes, diagnosis, solutions).
Hands-on work
Improved witness application performance through better object management. Use of tools for visualizing memory (VisualVM, MAT) and GC activity (Visual GC).

4
Optimization and I/O

  • Choosing the right stream classes.
  • Optimizing serialization.
Hands-on work
Improved witness application performance through better IO management.

5
Optimization and comics

  • Reminder of DBs (main concepts, main optimizations).
  • Review of the standard JDBC library (underlying model, API).
  • Optimization and JDBC (grouping requests, reducing preparation phases).
  • Optimization and JDBC (pagination optimization, transaction management, connection pools).
Hands-on work
Improved witness application performance through JDBC optimization.

6
The JMeter tool

  • JMeter's underlying model (test plans, thread groups, samplers, timers, controllers, processors, etc.).
  • Building http (web) and JDBC (database) test plans.
Hands-on work
Profiling a simple application using JMeter.