Learn Java Profiling

Understand your Java application's runtime behavior through profiling.

Practical Java Profiling

Java applications can be fast. Really fast, but they can also suffer with performance issues of all sorts – high CPU, memory leaks, thread contention, etc – all difficult to diagnose through debugging alone. 

In this course, we put our engineer hat on and get practical.

We’ll explore the fundamentals of Java profiling, using tools like JProfiler. We’ll investigate slow methods, memory leaks, excessive object allocation, and database performance issues using a sample Java application intentionally engineered with several performance defects.

By the end of the course, you’ll be able to profile Java applications with confidence, quickly identify the root cause of performance problems, and make targeted optimizations based on real data.

Illustration of a JVM Profiler with gears, a server rack, and a monitor labeled 'JVM Performance Analysis' showing CPU, memory, and threads graphs.

The essential guide to understanding Java applications at runtime with professional profiling tools. The 5 modules build practical profiling skills step by step: from profiling fundamentals and tooling, to CPU and memory analysis, to advanced diagnostics and production-ready techniques.

Everything you need to understand application profiling.

Gear icon with a green center and steaming coffee cup, signaling a coffee break or maintenance theme.

1. Introduction to Profiling

3 LESSONS (Text)

  1. What Is Application Profiling?
  2. Profiling Metrics (preview lesson)
  3. The Application We’re Profiling

2. The Profiling Toolset

2 LESSONS (Text)

  1. Overview of Profiling Tools
  2. Getting Started With Our Profiler

3. Analyzing Application Performance

3 LESSONS (Text)

  1. Analyzing Method Execution Time  (preview lesson)
  2. Isolating High-CPU Consumers
  3. Debugging Concurrency Issues

4. Analyzing Memory Efficiency

3 LESSONS (Text)

  1. Inspecting Heap Usage
  2. Identifying Memory Leaks
  3. Measuring Object Churn

5. Advanced Profiling and Production

2 LESSONS (Text)

  1. High-Level Profiling – Analyzing DB Performance (upcoming)
  2. Profiling Overhead and Production Safety (upcoming)

The lessons in this course are text-based, with a full project backing each one.

Access this course through Baeldung All Access

Our Full Course Library 

IntelliJ Idea Ultimate (6 months free)

JProfiler (6 months free)

All Upcoming Courses (Roadmap)

Certificates of Completion

Multiple-Choice questions in Each Lesson 

Pro Access

Yearly or the Lifetime access

Do you have a team who would benefit from taking the course?

20-Day Money Back Guarantee

I believe strongly in the quality of the course material to teach you the fundamentals of the library. I’ve put a lot of work and care into the material and hope you’re going to use it and to develop and maintain your applications.

I confidently back all courses with a 20-Day Money Back Guarantee. I want you to dive in deep and experience the full wealth of this resource without hesitation.

If the material isn’t a good fit, just contact me within 20 days of purchase, and ask for a full refund for any single course package.