Java Application Performance Tuning and Memory Management (Udemy.com)
Discover how coding choices, benchmarking, performance tuning and memory management can optimize your Java applications
Created by: Matt Greencroft
Last updated July 2022
What you will learn
- What can cause performance issues in our applications, and how to resolve them.
- The choices available to us as developers at design-time - how to make good coding choices for optimal performance.
- How to configure the virtual machine to provide better performance at run-time.
- The JVM's Just In Time compiler.
- How the virtual machine manages memory.
- Performance testing and benchmarking.
Course Description
In this course we'll understand what can cause performance issues in our applications, and how to resolve them. This includes a review of some of the options available to us as developers at design-time - how to make good coding choices for optimal performance. For example, when should you pick an ArrayList over a LinkedList? How much difference does the StringBuilder really make? Is Lambda syntax more or less efficient at certain operations? We'll also learn about various ways that we can configure the virtual machine to provide better performance at run-time, with a range of runtime arguments. We'll also be diving deep into how the virtual machine manages memory, and how the garbage collection process works and impacts on application performance.
Along the way we'll be learning about the Just In Time compiler, performance testing and benchmarking, decompiling bytecode, using the GraalVM as an alternative virtual machine and more.
About Java Versions: This is the second iteration of this course and it is designed for all the current versions of Java that have long term support (Java 8 , Java 11 and Java 17). You can follow along with any of these versions. You can also use either the Oracle or the OpenJDK JVMs. For developers using other JVM languages (such as Kotlin, Scala and Groovy) all of the JVM configuration parts of this course will still be relevant, and some of the coding choices may be useful to consider also. (Note that there's even a review of whether Kotlin provides better or worse performance than Java!)
Instructor Details
- 4.5 Rating
5,409 Reviews
Matt Greencroft
Having worked for over 20 years as a professional programmer, mainly in banking, Matt now teaches for Virtual Pair Programmers. His specialist areas are advanced Java, Spring Framework, Kotlin and Akka.
Outside of work, Matt enjoys cycling, but prefers going downhill to uphill, and he also plays the piano… very badly.
More courses by Matt Greencroft
Practical Test Driven Development for Java Programmers (2019)
4.3 (3,370 Reviews)
Provider: Udemy
Time: 4h
$11.99
Practical Java concurrency with the Akka Actor Model (2020)
4.7 (805 Reviews)
Provider: Udemy
Time: 6.9h
$69.99
Build Spring Boot Apps with the Kotlin Programming Language (2019)
4.4 (763 Reviews)
Provider: Udemy
Time: 7.9h
$64.99
Upgrade from JSP to Thymeleaf with SpringMVC and Spring Boot (2019)
4.5 (358 Reviews)
Provider: Udemy
Time: 4h
$11.99
More Software Development courses
MATLAB Programming Simulink: Beginner to Pro with ChatGPT (2026)
5.0 (930 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
Terraform 101: The Ultimate Hands-On Guide [Azure Edition] (2025)
4.8 (1,975 Reviews)
Provider: Udemy
Time: 11.9h
$94.99
Reviews
By Leonel Alexis Zárate Rodríguez on 4/8/2026
Escribiré este comentario en español para mis hermanos hispanos; Este curso funciona tanto para introducción como nivel intermedio y en algunas lecciones avanzado en cuánto al tema de optimización de aplicaciones Java, es un buen inicio para aquellos interesados en hacer su código más rápido. La manera en que Matt enseña está muy por encima que el curso promedio.
By Egor Malov on 3/20/2026
Просто невероятно! Это обязательный курс для Java-разработчика, он даёт глубокое понимание того, как работает JVM, за счёт чего достигается высокая производительность, как работает GC, какие могут быть проблемы с экранированием ссылок, как анализировать Java приложения с помощью различных инструментов по типу VisualVM и многое другое
By Nostalgiczny on 3/8/2026
Course makes promises that fails to fulfill. The knowledge presented is very basic, lacks of depth and sometimes inaccurate. Wanted to gain an expertise, got a brief introduction to the various tools instead. Many free youtube courses provide so much more knowledge with better explanation that it makes no sense to spend money on this one. Utterly disappointed
By Yauheni Parominski on 2/22/2026
This course delivered exceptional value by deepening my understanding of how the subject works at a fundamental level. It successfully reinforced my existing knowledge while introducing new concepts, creating a well-rounded learning experience. The material was clear, comprehensive, and appropriately rigorous.
By Wissam Abou Jaoude on 10/9/2025
The only problem is the slides, i see many people asked for them and the instructor didn't respond, as if the course was abandoned
By Anonymized User on 10/8/2025
The course it is awesome. I'm finding it extremely useful. It's practical and enjoyable. I'm "hooked", like watching a movie. It's a shame it's a black and white movie because it talks about very old versions of Java.
By Nirav Pradhan on 2/21/2024
Excellent course. It really helped me improve my understanding of JVM, Memory management, Garbage collection and using different monitoring tools.
By Dmytro Morozov on 9/29/2023
This course helped me to deepen my knowledge about JVM, memory organization, GC, and other valuable tools like JMC, and JMH which will be useful to achieve better performance in Java projects. Thanks, Matt!
By Santiago . on 2/13/2021
pros: The lecturer seems nice and explains concepts clearly. cons: It underdelivers. A lot. Just google about JMC and JMH and look for yourself how to get those running (and actually doing something useful) if like in my case it's not irrelevant to your pocket to spend a few bucks. (All of this considering I bought the course at $12)
By Caique Aquino Borges on 1/12/2021
This course is just amazing, I've learned so much about the JVM, garbage collection, how memory works in Java and other topics that opened my mind to look to Java with other eyes. This course brought me some learnings that will make me a much more professional Java programmer!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100









![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)

![Terraform 101: The Ultimate Hands-On Guide [Azure Edition]](/programming/software-development/images/6208847_f60a_7.jpg?v=1791193600)
