Java Performance Training Course
This course is designed for Java developers aiming to build highly efficient applications. In consultation with the client, the curriculum can be adapted for tools tailored to professionals whose primary role is identifying performance issues (such as testers and administrators), in which case Java programming skills are not required.
Throughout the training, participants will explore the processes and modern tools necessary for developing efficient Java software. The curriculum covers common performance pitfalls, benchmarking, profiling, tuning, memory analysis, and optimization techniques involving collections and I/O. The topics and tools taught are applicable regardless of the specific technologies used in a project, as the focus remains on language-level performance, utility libraries, and embedded components. Additionally, tuning sessions will address JVM parameters provided by Oracle.
This course is available as onsite live training in United Arab Emirates 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
- GC Fundamentals
- Garbage Collection 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
- Selecting the GC Type
Summary and Next Steps
Requirements
- Proficiency in Java programming
Audience
- Java developers
Need help picking the right course?
uae@nobleprog.com or +971 4871 6715
Java Performance Training Course - 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 HoursParticipants in this training will gain a clear understanding of the specific applications of key Java features, the common challenges associated with them, and their role within the application architecture. The course also covers fundamental knowledge of the Java Standard Library functions. Attendees are expected to have prior experience with Java development environments (IDEs) such as Eclipse or Netbeans. Please note that this training does not cover user interface development topics.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the various security services provided by Java, nor are they always aware of the different vulnerabilities relevant to web applications written in Java.
Aside from introducing the security components of Standard Java Edition, this course addresses security issues in Java Enterprise Edition (JEE) and web services. The discussion of specific services is preceded by a foundation in cryptography and secure communication. Various exercises cover declarative and programmatic security techniques in JEE, while both transport-layer and end-to-end security of web services are discussed. The use of all components is presented through several practical exercises, allowing participants to try out the discussed APIs and tools themselves.
The course also covers and explains the most frequent and severe programming flaws in the Java language and platform, as well as web-related vulnerabilities. Besides the typical bugs committed by Java programmers, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Understand security concepts of web services
- Learn to use various security features of the Java development environment
- Have a practical understanding of cryptography
- Understand security solutions of Java EE
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in the Java framework
- Get practical knowledge in using security testing tools
- Get sources and further readings on secure coding practices
Audience
Developers
Design Patterns (GoF) for Java
21 HoursThis instructor-led live training, offered online or onsite, targets intermediate Java developers who wish to employ design patterns to boost software structure, maintainability, and scalability.
By the conclusion of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Apply Creational, Structural, and Behavioral patterns effectively in Java.
- Improve code reusability, scalability, and maintainability.
- Refactor existing codebases using design patterns.
Groovy Programming
21 HoursApache Groovy is a dynamic programming language for the JVM (Java Virtual Machine). Its key features include scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming, and functional programming. Groovy is frequently used to complement Java.
In this instructor-led live training, participants will learn to program in Groovy by building a sample application step by step.
Audience
- Developers
Format of the course
- A mix of lectures, discussions, exercises, and extensive hands-on practice
Groovy Programming for Beginners
14 HoursThis instructor-led, live training in the UAE (online or onsite) is designed for beginner-level developers who wish to learn the fundamentals of Groovy Programming.
By the end of this training, participants will be able to:
- Grasp fundamental programming concepts.
- Write simple Groovy scripts and leverage core Groovy features.
- Understand and apply basic principles of object-oriented programming using Groovy.
- Acquire basic error-handling techniques to manage common programming errors and exceptions in Groovy.
Java Microservices
21 HoursThis instructor-led, live training in the UAE (online or onsite) targets intermediate-level Java developers who wish to design, develop, deploy, and maintain microservices-based applications using Java frameworks like Spring Boot and Spring Cloud.
By the end of this training, participants will be able to:
- Understand the 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 scale microservices effectively.
- Deploy microservices using Docker and Kubernetes.
Building Microservices with Spring Boot, Docker, and Kubernetes
21 HoursThis instructor-led live training in the UAE (available online or onsite) is aimed at intermediate to advanced developers looking to master microservice development using Spring Boot, Docker, and Kubernetes.
By the conclusion of this training, participants will be equipped to:
- Understand the fundamental principles of microservices architecture.
- Develop production-ready microservices using Spring Boot.
- Appreciate the critical function of Docker in containerizing microservices.
- Configure Kubernetes clusters for the deployment and orchestration of microservices.
Quarkus for Developers
14 HoursThis instructor-led, live training in the UAE (online or onsite) is designed for developers who wish to utilize Quarkus to build, test, and deploy applications, fully powered by Java, but with reduced resource utilization.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start developing applications with Quarkus.
- Build, compile, and run applications in native mode using GraalVM.
- Utilize Quarkus tooling and extensions for building native applications using Maven.
- Containerize, execute, and deploy applications with Docker.
Quarkus for Java Native and Microservice Development
40 HoursThis instructor-led, live training in the UAE (online or onsite) is aimed at intermediate-level to advanced-level developers and architects who wish to develop Java native applications and microservices using Quarkus with optimized memory usage and startup time.
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 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 the UAE (online or onsite) is aimed at software architects and web developers who wish to use RabbitMQ as a messaging middleware and program in Java using Spring to build applications.
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 apply queues, topics, exchanges, and bindings in RabbitMQ
Spring Boot, React, and Redux
14 HoursThis instructor-led, live training in the UAE (online or onsite) is aimed at web developers who wish to build functional front-end and back-end web applications with Spring Boot, React, and Redux.
By the end of this training, participants will be able to:
- Build a front-end application with React and Redux.
- Create RESTful APIs with Spring Boot.
- Secure web services with Spring security and JWT web tokens.
Spring 5
21 HoursThis instructor-led live training, offered the UAE (online or on-site), is intended for Java developers aiming to utilize the Spring 5 framework for developing and deploying enterprise web applications.
By the conclusion of this training, participants will be able to:
- Install and configure Spring 5.
- Understand and implement the latest features of Spring 5.
- Access databases via Spring applications.
- Employ the new reactive web framework, WebFlow, to build reactive applications.
- Integrate Spring applications with legacy Java EE environments.
- Test and deploy enterprise-standard Spring applications.
Spring Basics with Spring Boot 3.5.5 and Java 21
14 HoursSpring is a robust Java framework designed to simplify enterprise application development through powerful dependency injection, a modular architecture, and streamlined configuration capabilities.
This instructor-led live training, available online or onsite, is tailored for beginner-level Java developers aiming to build modern, production-ready web applications using the latest Spring Framework and Spring Boot 3.5.5 alongside Java 21.
Upon completing this training, participants will be able to:
- Grasp Spring’s core principles, including IoC, DI, and AOP.
- Configure Spring applications using XML, annotations, and JavaConfig.
- Develop RESTful services leveraging Spring Boot and JPA.
- Implement CRUD operations, manage transactions, and handle data persistence.
- Utilize advanced Spring features such as profiles, exception handling, and data serialization.
Course Format
- A concise theoretical overview followed by extensive practical exercises.
- Hands-on implementation using real-world scenarios.
- Interactive discussions and guided troubleshooting sessions.
Customization Options
- For tailored training requirements, please contact us to make arrangements.
Spring WebFlux: Reactive Programming for Scalable Web Applications
35 HoursSpring WebFlux is a reactive programming module within the Spring Framework, designed to facilitate the creation of non-blocking, event-driven web applications.
This instructor-led live training, available either online or onsite, targets beginner to intermediate Java developers aiming to construct scalable and responsive applications utilizing Spring WebFlux.
Upon completing this training, participants will be equipped to:
- Grasp the core principles of reactive programming using Project Reactor.
- Develop and test non-blocking RESTful APIs leveraging Spring WebFlux.
- Seamlessly integrate WebFlux with databases and external services.
- Apply reactive design patterns to practical application scenarios.
Course Format
- Engaging lectures accompanied by group discussions.
- Extensive exercises and practical sessions.
- Live laboratory implementation exercises.
Customization Options
- For tailored training requests, please reach out to us to make arrangements.
Spring Webflux
14 HoursThis instructor-led, live training in the UAE (online or onsite) is designed for developers seeking to utilize WebFlux for developing and deploying reactive applications.
Upon completion of this training, participants will be able to:
- Install and configure Spring 5 and the WebFlux framework.
- Develop reactive applications and services.