Java Performance Training Course
This training module is designed for Java developers seeking to enhance the efficiency of their applications. In coordination with the client, the curriculum may be adapted for specific operational contexts, such as for personnel focused on performance detection (including testers and system administrators), where advanced Java programming is not a prerequisite for government operations.
Throughout the session, participants will acquire proficiency in contemporary methodologies and tools for developing high-performance Java software. The instruction covers critical performance pitfalls, benchmarking procedures, profiling techniques, tuning strategies, memory analysis, and optimization of collections and input/output operations. These topics and tools are universally applicable across various technology stacks, with a primary focus on language-level performance, standard tooling, and embedded libraries. Tuning segments address specific JVM parameters provided by Oracle to support robust application delivery.
This course is available as onsite live training in US Government or online live training.Course Outline
Introduction
Java Virtual Machine Performance overview
- Java memory model
- Just In Time Compiler
- Performance methodology
Java Garbage Collection
- GC Basics
- Garbage Collecting Algorithms
- Types of GC Collectors
JVM Monitoring
- command line monitoring
- Java Flight Recorder and Mission Control
- Profiling tools
Microbenchmarking
- JMH microbenchmark framework
- creating and configuring a benchmark
- execution and result interpretation
JVM Tuning
- Memory tuning
- Choosing GC type
Summary and Next Steps
Requirements
- Proficiency in Java programming
Target Audience
- Java developers
Runs with a minimum of 4 + people. For 1-to-1 or private group training, request a quote.
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
Upcoming Courses
Related Courses
Java Advanced
28 HoursThis training enables participants to master the specific applications of selected Java features, address common implementation challenges, and understand the role of these elements within the application architecture. The curriculum also incorporates foundational knowledge of the Java standard library. Proficiency in a development environment IDE used for building Java applications (e.g., Eclipse, NetBeans) is required. This training does not cover user interface development.
Advanced Java Security
21 HoursEven experienced Java programmers may not fully master all the security services provided by Java, nor are they always aware of the vulnerabilities relevant to web applications written in this language.
This course introduces the security components of Standard Java Edition and delves into the security issues of Java Enterprise Edition (JEE) and web services. Before discussing specific services, the course covers the fundamentals of cryptography and secure communication. Various exercises focus on declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises allow participants to use the discussed APIs and tools firsthand.
The course also examines the most frequent and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers both language-specific issues and problems arising from the runtime environment. Each vulnerability and associated attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding for government applications
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Understand the security principles of web services
- Learn to utilize various security features in the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about common coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Groovy Programming
21 HoursThis instructor-led training in US focuses on Apache Groovy, a dynamic JVM language designed to complement Java. Participants will learn scripting, closures, meta-programming, and object-oriented programming while constructing a sample application through hands-on exercises and practical lab work for government use cases.
Groovy Programming for Beginners
14 HoursThis instructor-led, live training in US (online or onsite) is aimed at beginner-level developers who wish to learn the basics of Groovy Programming.
By the end of this training, participants will be able to:
- Understand the basic programming concepts.
- Write simple Groovy scripts and utilize Groovy core features.
- Understand and apply basic principles of object-oriented programming using Groovy.
- Learn basic error-handling techniques to manage common programming errors and exceptions in Groovy.
Java Microservices
21 HoursThis instructor-led, live training conducted at US (online or onsite) is targeted at intermediate-level Java developers seeking to design, develop, deploy, and maintain microservices-based applications utilizing Java frameworks such as Spring Boot and Spring Cloud. The curriculum supports the creation of resilient systems for government operations.
Upon completion of this training, participants will be equipped to:
- Exhibit a thorough understanding of microservices architectural principles and their benefits.
- Develop and deploy microservices using Java and Spring Boot.
- Implement service discovery, configuration management, and API gateway solutions.
- Secure, monitor, and scale microservices effectively.
- Deploy microservices in Docker and Kubernetes environments.
Building Microservices with Spring Boot, Docker, and Kubernetes
21 HoursThis instructor-led, live training session, delivered either virtually or in person at US, is specifically designed for intermediate to advanced developers aiming to master the development of microservices using Spring Boot, Docker, and Kubernetes.
Upon completion of this training, participants will be equipped to:
- Grasp the fundamental principles of microservices architecture.
- Develop production-ready microservices leveraging Spring Boot.
- Recognize the essential function of Docker in the containerization of microservices.
- Configure Kubernetes clusters to manage the deployment and orchestration of microservices.
Quarkus for Developers
14 HoursThis instructor-led, live training session, conducted in US (online or on-site), is intended for developers aiming to utilize Quarkus for the construction, testing, and deployment of applications. The objective is to maintain full Java capability while reducing resource consumption for government systems.
Following this training, participants will be equipped to:
- Configure the necessary development environment to begin building applications with Quarkus.
- Build, compile, and run applications in native mode utilizing GraalVM.
- Apply Quarkus tooling and extensions to construct native applications using Maven.
- Containerize, execute, and deploy applications via Docker.
Quarkus for Java Native and Microservice Development
40 HoursThis instructor-led, live training conducted in US (online or onsite) is tailored for intermediate to advanced developers and architects seeking to develop Java native applications and microservices using Quarkus, emphasizing optimized memory usage and startup efficiency.
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.
- Utilize GraalVM for native compilation to optimize startup and memory efficiency.
- Package and containerize applications for Kubernetes and OpenShift environments.
RabbitMQ with Java and Spring
14 HoursThis instructor-led live training in US (delivered online or on-site) targets software architects and web developers who intend to utilize RabbitMQ as messaging middleware and to program in Java using the Spring framework to build robust applications.
Upon completion of this training, participants will be able to:
- Construct applications using the integration of Java, Spring, and RabbitMQ.
- Design asynchronous, message-driven systems leveraging RabbitMQ capabilities for government infrastructure.
- Configure and apply queues, topics, exchanges, and bindings within the RabbitMQ ecosystem.
Spring Boot, React, and Redux
14 HoursThis instructor-led, live training conducted in US (online or onsite) is designed for web developers seeking to build functional frontend and backend web applications for government using Spring Boot, React, and Redux.
Upon completion of this training, participants will be equipped to:
- Construct a frontend application utilizing React and Redux.
- Develop RESTful APIs using Spring Boot.
- Secure web services through Spring Security and JWT web tokens.
Spring 5
21 HoursThis instructor-led, live training program, conducted in US (online or onsite), is directed at Java developers responsible for developing and deploying enterprise web applications using the Spring 5 framework, ensuring alignment with standards for government digital services.
Upon completion of this training, participants will be prepared to:
- Install and configure the Spring 5 environment.
- Analyze and implement the most recent features of Spring 5.
- Establish database connections within Spring applications.
- Leverage the reactive web framework, WebFlux, to enhance application responsiveness.
- Integrate Spring-based solutions with legacy Java EE systems.
- Execute testing and deployment of enterprise-grade Spring applications.
Spring AI
21 HoursThis practical course provides a comprehensive overview of developing generative AI applications using Spring AI. Participants will acquire the skills necessary to integrate and configure AI models, design effective prompts, process structured responses and streams, and enhance application capabilities through Retrieval-Augmented Generation (RAG) with organizational data.
The curriculum further addresses conversation memory, AI tools, Model Context Protocol (MCP), monitoring and observability, security safeguards, as well as standard generative AI patterns and agentic workflows. Through applied exercises, participants will construct and expand Spring AI applications, exploring how to combine these capabilities to deliver production-ready AI solutions for government environments.
Spring Basics with Spring Boot 3.5.5 and Java 21
14 HoursSpring WebFlux: Reactive Programming for Scalable Web Applications
35 HoursSpring WebFlux constitutes a reactive programming module integrated into the Spring Framework, engineered to facilitate the development of non-blocking, event-driven web services.
This instructor-led professional development program, available in online or onsite formats, is tailored for Java professionals with beginner to intermediate proficiency who seek to implement scalable and responsive application architectures using Spring WebFlux.
Upon completion of this training, personnel will be equipped to:
- Comprehend the foundational principles of reactive programming as implemented in Project Reactor.
- Design and validate non-blocking RESTful APIs leveraging Spring WebFlux.
- Establish connectivity between WebFlux applications and database systems or external services.
- Apply reactive design patterns to address practical application requirements.
Course Delivery Methodology
- Interactive instruction and facilitated discussion.
- Extensive practical exercises and skill reinforcement.
- Direct application within a live laboratory environment.
Customization Provisions
- Requests for tailored training content for this course should be directed to the designated contact point for scheduling.
Spring Webflux
14 HoursThis instructor-led, live training in US (online or onsite) is aimed at developers who wish to use WebFlux to develop and deploy reactive applications.
By the end of this training, participants will be able to:
- Install and configure Spring 5 and the WebFlux framework.
- Develop reactive application and services.