A memory snapshot represents the memory state of the profiled application at the moment it was captured. It contains information about all loaded classes, about all existing objects, and about references between objects.
Snapshots can contain values of fields and arrays of primitive types (int, long, char etc.).
Read more.
Optionally, snapshot can contain information about object allocations.
Inaccessible objects are treated as if they were already collected
When a snapshot is opened in the profiler, objects that are not referenced and thus can be collected are treated as collected. It is also assumed that all weak and soft references are nulled, and the objects accessible by only weak or soft references are treated as collected. This simplifies memory leak detection and helps you focus on the real, "hard referenced" problems.
In a very special case, you may want to keep weak/soft references. To achieve this, specify
properties -Dyjp.keep.weak.refs=true and/or -Dyjp.keep.soft.refs=true in
<Profiler Installation Directory>/bin/yjp.ini
Note:
Whenever you change properties yjp.keep.weak.refs and/or yjp.keep.soft.refs,
delete or re-create snapshot index file if it was created for different settings;
otherwise the change will take no effect.
Snapshot formats
You have an option to capture snapshot in YourKit Java Profiler format or via JVM built-in dumper:
Read more about HPROF snapshots.
