Fully featured low overhead profiler for Java EE and Java SE platforms.
Performance monitoring and profiling of Jenkins, TeamCity, Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Object generations

Generations distribute objects by time of their creation, and are thus very helpful in finding memory leaks and performing other analyses of how heap content evolves over time.

When an object is created, it is associated with the current generation number. The generations are sequentially numbered starting from 1. The current generation number is automatically advanced on capturing memory snapshot. It can also be explicitly advanced with the help of "Advance Object Generation Number" toolbar button, as well as via API.

The generation represents an object's age: the smaller the generation number, the older the object.

All tabs representing live objects have a "Generations" view. In this view, you can see objects separated by time of their creation:

To see the generation of a single object, use Quick Info:

See also the typical memory leak detection scenario.