Java Application Performance Tuning and Memory Management

Discover how coding choices, benchmarking, performance tuning and memory management can optimize your Java applications

4.71 (4105 reviews)
Udemy
platform
English
language
Programming Languages
category
instructor
Java Application Performance Tuning and Memory Management
33,685
students
10 hours
content
Feb 2022
last update
$94.99
regular price

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.

Why take this course?

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

Reviews

Emmanuel
March 18, 2024
Matt Greencroft is an excellent teacher. Impressive teaching that makes everything easy to understand. I recommend!
Nirav
February 21, 2024
Excellent course. It really helped me improve my understanding of JVM, Memory management, Garbage collection and using different monitoring tools.
Prabhu
February 17, 2024
This course made me to think what java actually is , how a java programmer should have to think while programming in Java , Thanks a Lot Sir
Khrystyna
February 11, 2024
Very mediocre course. Content impossible to follow on device other than at least 27 inches display. Sometimes it is even ridiculous, seeing empty screen with small console window showing one line of code. Good for very beginner I suppose.
Łukasz
February 4, 2024
Świetny kurs. Świetny język, czysty, prowadzący mówi powoli. Jeden z fajniejszych kursów jakie przerabiałem. Trzeba pamiętać, że nie jest no dla osób bez podstawowego doświadczenia w Javie ! :)
LaxmiNarayan
January 31, 2024
The course was good. The best part of the course is about the garbage collection. It's explained beautifully.
Luigi
January 27, 2024
Incredible course and very good for tuning your application. There's still one major issue if you're using the new versions of Java, i.e. Java 17/21.
Liviu
January 25, 2024
Do not appreciate using windows machine to run stuff as an example. Mac or linux box would've been better for me.
Hasan
January 7, 2024
Well i got good knowledge, some section have some great details how JVM works and dive into heap/stack , some section where basics if you are a entry level/junior java dev this course is recommended unfortunately uses eclipse not IntelliJ
Christina
December 14, 2023
Excellent content. Very enjoyable speaker. Please update for Java 17 and 21. I almost dismissed this course as an option bc it has not been updated in 2 years, but I'm glad I didn't. There was valuable information and I very much enjoyed the speaker. I would be interested in seeing an updated version.
Diego
December 14, 2023
Es muy útil su contenido, para ser 5 estrellas tendría que tener una edición y audio más perfecta, pero ya como está es suficientemente bueno.
Dario
December 1, 2023
Tal vez requiera una versión para administradores (que no necesiten ver la parte de desarrollo) It might need an admin only version, and some of us can get the course completed without having to watch some parts that are specifically for developers.
Keerthi
November 19, 2023
The course is for beginners and somewhat outdated too. Skims the surface and explores some basic tools available to monitor & analyse performance. Details, however, are sorely missed. The discussion on garbage collection algorithms, particularly G1, was pretty disappointing.
Chandan
October 30, 2023
You must provide the PDF doc and the GitHub link for the code, as we can revise it before the interview and see the code from anywhere. Please consider my request.
Salvatore
October 22, 2023
I found it to be a valuable experience. The content was comprehensive and well-structured, and the instructor, Matt Greencroft, demonstrated a high level of expertise in explaining the concepts. While the course provided practical exercises and real-world examples, I would have preferred a test-driven approach. The method of commenting and uncommenting code on the fly wasn't as clear and concise as I would have liked. Additionally, while the course length was extensive, it made revisiting topics after a few weeks a bit challenging. In terms of relevance, the content was solid, but it would benefit from updates to include the latest Java versions, specifically Java 17 and 21. The course did provide the source code of the exercises shown in the videos, but a list of the tools used would have been a helpful addition. One area I believe could be improved upon is the coverage of threads and concurrency optimization, particularly regarding monitors and semaphores. Despite these areas of improvement, I believe the course offers excellent value for money. There are fundamental concepts covered that, as a Java developer, one cannot afford to ignore—even though we often do. I would recommend this course to others, especially those looking to deepen their understanding of Java performance and memory management.

Charts

Price

Java Application Performance Tuning and Memory Management - Price chart

Rating

Java Application Performance Tuning and Memory Management - Ratings chart

Enrollment distribution

Java Application Performance Tuning and Memory Management - Distribution chart

Related Topics

2241936
udemy ID
2/26/2019
course created date
11/22/2019
course indexed date
Bot
course submited by