Skip to content
UdemySoftware DevelopmentPaid courseIntermediate levelCertificate

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

icon
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.

icon
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!)

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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.

icon
More courses by Matt Greencroft

$11.99

$11.99

$69.99

$64.99

$74.99

$11.99

icon
More Software Development courses

$10.99

$109.99

$19.99

$19.99

$94.99

$94.99

icon
Reviews

4.5

5,409 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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!

Showing all 10 reviews on CourseDuck

Read all 5,409 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100