- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- CPU profiling
- Thread profiling
- Virtual threads support
- Object allocation profiling
- Memory profiling
- Monitor profiling
- Exception profiling
- Telemetry
- Probes: monitor events of various kinds
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary
- Filters
- Profiler command line
- Export of profiling results to external formats
- Profiler Java API
- Profiler HTTP API
- Settings
- Troubleshooting and FAQ
Merged paths
Merged paths view is a tool for examining how objects are retained.
It is especially useful for analyzing objects of classes with a great number of instances, such as
int[]
, java.lang.String
etc.
Merged paths is similar to Paths from GC roots; however, it does not show paths through individual objects, but paths from multiple objects grouped by class.
For example, see the picture below.
It shows that the memory held by int[]
instances is mostly retained by
IntegerInterleavedRaster
instances, which are in turn retained by
BufferedImage
and OffScreenImage
.

Another difference between Merged paths and Paths from GC roots is that the merged paths are build on the dominator tree while the paths use the full object reference graph as is. This means that some intermediate nodes seen in Paths from GC roots may be missing in Merged paths for objects which are retained indirectly.