Garbage Collection is probably the best improvement to quality of life for developers coming from C/C++ to Java. However, the risk we still face is to 'forget' about a reference to an object, rendering that object impossible to evict. With complex codebases and unknown frameworks, this risk sometimes transforms into incredibly complex debugging challenges to find the memory leak or to reduce the memory footprint of our workflow.

Follow this challenging video course to understand Garbage Collector internals, how to trace and fix memory leaks and many Java memory management best practices direcly applicable to complex real-world problems. This workshop goes through a series of scenarios extracted from the most common memory issues occuring today in typical Java/Spring/JavaEE projects, highlighting various inefficient memory management practices and presenting some powerful (free) tools critical to the job.

This is the recording of a 3.5 hours live webinar that took place in May 2021.

Note: After watching the recording you can ask me any question you have via email.


  • Garbage Collector Mechanics: refcount, traversing references, cycles, GC types overview
  • Memory Leaks Experiments: Static, Thread Local, Session, Stack Frame, Inner Class, Closure, Cache
  • Tracing Memory Leaks using visualvm and Memory Analyzer Tool
  • Retained vs Shallow Size
  • Best way to size your max heap
  • Preemptive Memory Leak Analysis
  • Reducing Memory Footprint of your Code

What to expect?

The workshop is composed of a series of experiments highlighting various memory leaks and memory-inefficient coding practices. Any deeper concept we encounted will be explained via fine-tuned slides that will make it crystal clear. And of course, any questions you might have after wathing the recording are warmly welcome.

After the purchase you will get: the video recording, all the slides, and the code zipped together with Git commit history.

This training is for you if

  • You are facing any kind of performance issues with your application
  • You are a consultant/senior that is called to help projects in trouble
  • You are eager to know more about the internals of Java Garbage Collector
  • You want to lower the memory footprint of your code to avoid OutOfMemoryErrors


  • Solid knowledge of the Java language.
  • Prior practical experience tuning a Java application performance is recommended.

Technical Requirements

I would recommend you get yourself a black coffee and you pay close attention to the discussion, stop the recording at any moment and try to reproduce what I'm doing on your own machine. In the resources section you can find the code zipped together with the git history, so you can explore my commits if you get lost. If still can't make it work, please don't hesitate to email me!

To run the project you will need a Java 8+ SDK installed, a decent IDE, and access to GitHub and Maven Central.

Course Curriculum

Available in days
days after you enroll

Trainer: Victor Rentea

Victor Rentea is a Java Champion, Associate Professor and Technical Trainer writing code for over two decades in many languages.

He is training developers since 2012, having developed an extensive curriculum that covers most of the software engineering best practices and typical Java-stack development. By now he trained over 2000 developers in 40+ companies, and you can read dozens of their recommendations on LinkedInFacebook, and on

Victor is best known for the energy of his talks, many ranked among the best 3 at their conference. You can expect a similar style for any training he gives while explaining complex concepts in simple, easy to remember terms. If you want to keep close, you can join the Software Craftsmanship Community he founded in Romania or follow him on LinkedIN, Twitter, or Facebook.

Get Access

Frequently Asked Questions

Can I get an invoice for my company (VAT-free)?

To add the VAT code of your company to the checkout page and remove the VAT taxes, follow these simple steps.

Can I ask questions after I watch the recording?

PLEASE DO! Email me your questions, no matter how silly or complex you may think they are. I'd be glad to help, so don't hesitate to contact me.

How long do I have access to the course?

How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.

What if I am unhappy with the course?

We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Can I have this training for more of my colleagues?

There are two ways I can help you:

  • For 5+ developers, contact me for a discount and a company invoice
  • For 10+ developers or for a longer in-depth session, contact me for a dedicated webinar for your company.