Java Performance Training Course
This course is designed for Java developers aiming to build efficient applications. Upon consultation with the client, the course can be tailored for a specialised tool version, suitable for individuals who only need to identify performance issues (such as testers or administrators)—in which case, Java programming skills are not required.
During the training, participants will explore processes and modern tools for developing efficient software in Java. They will gain insights into common performance pitfalls, benchmarking, profiling, tuning, memory analysis, and performance optimisation techniques using collections or I/O. The topics and tools covered are applicable regardless of the technologies used in a project, as the focus remains on language-level performance, relevant tools, and embedded libraries. The tuning section specifically addresses JVM parameters provided by Oracle.
This course is available as onsite live training in New Zealand or online live training.Course Outline
Introduction
Overview of Java Virtual Machine Performance
- Java memory model
- Just-In-Time compiler
- Performance methodology
Java Garbage Collection
- Garbage collection basics
- Garbage collection algorithms
- Types of garbage collectors
JVM Monitoring
- Command-line monitoring
- Java Flight Recorder and Mission Control
- Profiling tools
Microbenchmarking
- JMH microbenchmarking framework
- Creating and configuring benchmarks
- Execution and result interpretation
JVM Tuning
- Memory tuning
- Choosing the appropriate garbage collector type
Summary and Next Steps
Requirements
- Programming in Java
Audience
- Java developers
Open Training Courses require 5+ participants.
Java Performance Training Course - Booking
Java Performance Training Course - Enquiry
Java Performance - Consultancy Enquiry
Testimonials (2)
Trainer was good at talking through topics in details and making it easy to understand
Lewis Nangle - AquaQ Analytics
Course - Java Performance
-code examples really helped with understanding -Fulvio came across as very knowledgeable and explained everything thoroughly
Paul Doherty - AquaQ Analytics
Course - Java Performance
Provisional Upcoming Courses (Require 5+ participants)
Related Courses
Java Advanced
28 HoursDuring this training, participants will gain an understanding of the specific use cases for selected topics, the common challenges encountered when working with them, and the role of the application model. The course also covers foundational knowledge of standard library functions in the Java language. A prerequisite for the training is familiarity with the integrated development environment (IDE) used to build Java applications, such as Eclipse or NetBeans. The training does not cover user interface-related issues.
Angular and Spring Boot
14 HoursThis instructor-led, live training in New Zealand (available online or on-site) is designed for web developers who want to leverage Angular and Spring Boot to create full-stack applications.
By the end of this training, participants will be able to:
- Develop a full-stack application using Angular and Spring Boot.
- Build a backend application with Spring Boot.
- Create frontend applications with Angular.
- Use Spring Security to configure authentication for a full-stack application.
Continuous Integration (CI) for Java
14 HoursThis instructor-led, live training in New Zealand (available online or on-site) is designed for developers who wish to learn and apply the fundamentals of Continuous Integration for Java.
By the end of this training, participants will be able to:
- Learn and understand CI within the context of a Java project.
- Build a CI system tailored for Java.
Groovy Programming
21 HoursApache Groovy is a dynamic programming language for the JVM (Java Virtual Machine). Its features include scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming, and functional programming. Groovy is often used as a complement to Java.
In this instructor-led, live training, participants will learn how to program in Groovy by stepping through the creation of a sample application.
Audience
- Developers
Course Format
- Part lecture, part discussion, with exercises and extensive hands-on practice
Groovy Programming for Beginners
14 HoursThis instructor-led, live training in New Zealand (online or onsite) is aimed at beginner-level developers who wish to learn the fundamentals of Groovy programming.
By the conclusion of this training, participants will be able to:
- Grasp the foundational concepts of programming.
- Write simple Groovy scripts and leverage core Groovy features.
- Understand and apply the basic principles of object-oriented programming using Groovy.
- Learn essential error-handling techniques to manage common programming errors and exceptions in Groovy.
Java Microservices
21 HoursThis instructor-led, live training in New Zealand (online or onsite) is designed for intermediate-level Java developers who wish to design, develop, deploy, and maintain microservices-based applications using Java frameworks such as Spring Boot and Spring Cloud.
By the conclusion of this training, participants will be able to:
- Understand the core principles and benefits of microservices architecture.
- Build and deploy microservices using Java and Spring Boot.
- Implement service discovery, configuration management, and API gateways.
- Secure, monitor, and effectively scale microservices.
- Deploy microservices using Docker and Kubernetes.
Building Microservices with Spring Boot, Docker, and Kubernetes
21 HoursThis instructor-led, live training in New Zealand (available online or onsite) is tailored for intermediate to advanced developers seeking to master the development of microservices using Spring Boot, Docker, and Kubernetes.
By the end of this training, participants will be able to:
- Comprehend microservices architecture principles.
- Build production-ready microservices using Spring Boot.
- Understand the critical role of Docker in containerising microservices.
- Configure Kubernetes clusters to deploy and orchestrate microservices.
Quarkus for Developers
14 HoursThis instructor-led, live training in New Zealand (delivered online or on-site) is aimed at developers who wish to leverage Quarkus to build, test, and deploy Java-powered applications with reduced resource utilisation.
By the end of this training, participants will be able to:
- Set up the necessary development environment to begin building applications with Quarkus.
- Build, compile, and run applications in native mode using GraalVM.
- Leverage Quarkus tooling and extensions to create native applications using Maven.
- Containerise, execute, and deploy applications using Docker.
Quarkus for Java Native and Microservice Development
40 HoursThis instructor-led, live training in New Zealand (online or onsite) is aimed at intermediate to advanced-level developers and architects who wish to develop Java native applications and microservices using Quarkus, with a focus on optimised memory usage and rapid startup times.
By the end of this training, participants will be able to:
- Develop high-performance, lightweight Java native applications using Quarkus.
- Build and deploy RESTful services and microservices architectures.
- Use GraalVM for native compilation and optimise startup and memory efficiency.
- Package and containerise applications for Kubernetes and OpenShift environments.
RabbitMQ with Java and Spring
14 HoursThis instructor-led, live training in New Zealand (online or on-site) is intended for software architects and web developers who wish to use RabbitMQ as a messaging middleware and develop Java applications using Spring.
By the end of this training, participants will be able to:
- Use Java and Spring with RabbitMQ to build applications.
- Design asynchronous, message-driven systems using RabbitMQ.
- Create and configure queues, topics, exchanges, and bindings in RabbitMQ.
Spring Boot, React, and Redux
14 HoursThis instructor-led, live training in New Zealand (online or on-site) is tailored for web developers who aim to build functional front-end and back-end web applications using Spring Boot, React, and Redux.
By the end of this training, participants will be able to:
- Build a front-end application using React and Redux.
- Create RESTful APIs with Spring Boot.
- Secure web services using Spring Security and JWT web tokens.
Spring 5
21 HoursThis instructor-led, live training in New Zealand (online or on-site) is designed for Java developers who wish to use the Spring 5 framework to develop and deploy enterprise-grade web applications.
By the end of this training, participants will be able to:
- Install and configure Spring 5.
- Understand and implement the latest features of Spring 5.
- Access databases using Spring applications.
- Utilise the new reactive web framework, WebFlux, to build reactive applications.
- Integrate Spring applications with legacy Java EE systems.
- Test and deploy enterprise-grade Spring applications.
Spring Basics with Spring Boot 3.5.5 and Java 21
14 HoursSpring is a comprehensive Java framework that simplifies enterprise application development by providing powerful dependency injection, modular architecture, and streamlined configuration options.
This instructor-led, live training (online or on-site) is designed for beginner-level Java developers who wish to build modern, production-ready web applications using the latest version of the Spring Framework and Spring Boot 3.5.5 with Java 21.
By the end of this training, participants will be able to:
- Understand Spring's core principles, including IoC, DI, and AOP.
- Configure Spring applications using XML, annotations, and JavaConfig.
- Develop RESTful services using Spring Boot and JPA.
- Implement CRUD operations, manage transactions, and handle data persistence.
- Utilise advanced Spring features such as profiles, exception handling, and data serialisation.
Course Format
- A brief theoretical introduction followed by extensive practical exercises.
- Hands-on implementation using real-world examples.
- Interactive discussion and guided troubleshooting.
Course Customisation Options
- To request a customised training session for this course, please contact us to arrange.
Spring WebFlux: Reactive Programming for Scalable Web Applications
35 HoursSpring WebFlux is a reactive programming module within the Spring Framework, designed to build non-blocking, event-driven web applications.
This instructor-led, live training (available online or on-site) is tailored for beginner to intermediate-level Java developers who want to build scalable and responsive applications using Spring WebFlux.
By the end of this training, participants will be able to:
- Grasp the fundamentals of reactive programming with Project Reactor.
- Build and test non-blocking RESTful APIs using Spring WebFlux.
- Integrate WebFlux with databases and external services.
- Apply reactive patterns to real-world application scenarios.
Course Format
- Interactive lectures and discussions.
- Plenty of exercises and hands-on practice.
- Practical implementation in a live lab environment.
Course Customisation Options
- To request a customised version of this course, please contact us to arrange.
Spring Webflux
14 HoursThis instructor-led, live training in New Zealand (online or on-site) is tailored for developers who wish to leverage WebFlux to develop and deploy reactive applications.
By the conclusion of this training, participants will be able to:
- Install and configure Spring 5 and the WebFlux framework.
- Develop reactive applications and services.