Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy-to-use performance and memory .NET profiler for Windows, Linux and macOS.
Secure and easy profiling in cloud, containers and clustered environments.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

Object explorer

This simple view allows to traverse outgoing and incoming object references. This is not useful for memory leak detection, but this is powerful tool to examine values of object's fields, as you do in a debugger. To find memory leaks, use paths to GC roots.

Outgoing references

Shows all objects of the set and allows you to browse their outgoing references. Outgoing references of an object are fields or array elements of that object that point to other objects.

Outgoing object explorer

Incoming references

Shows all objects of the set and allows you to browse their incoming references. Incoming references of an object are references to that object.

Do not use Incoming references to find out why an object is retained in memory. Use paths, which is specially designed for this purpose.

Incoming reference explorer

Class-specific object presentation

In Object explorer values are immediately shown for object instances of common classes, so the most useful information is inlined, saving time expanding and searching for the specific field. Profiler has special presentation for the following classes:

  • Primitive value wrappers:

    • java.lang.Boolean
    • java.lang.Byte
    • java.lang.Character
    • java.lang.Double
    • java.lang.Float
    • java.lang.Integer
    • java.lang.Long
    • java.lang.Short
  • Atomic values:

    • java.util.concurrent.atomic.AtomicBoolean
    • java.util.concurrent.atomic.AtomicInteger
    • java.util.concurrent.atomic.AtomicLong
  • Other numeric classes:

    • java.math.BigDecimal
    • java.math.BigInteger
  • Reflection:

    • java.lang.reflect.Constructor
    • java.lang.reflect.Field
    • java.lang.reflect.Method
  • Collection size for collections:

    • java.util.ArrayList
    • java.util.Arrays$ArrayList
    • java.util.HashMap
    • java.util.HashSet
    • java.util.Hashtable
    • java.util.IdentityHashMap
    • java.util.LinkedList
    • java.util.PriorityQueue
    • java.util.TreeMap
    • java.util.Vector
    • java.util.WeakHashMap
    • GNU Trove library collections

  • Value names for java.lang.Enum instances.

  • For instances of java.util.Optional* the value is shown if available, otherwise shown as Empty.

    Presentation of java.util.Optional
  • For instances of java.awt.Color color components (red/green/blue/alpha) as well as the color itself are presented.

  • For instances of java.lang.Thread in addition to the thread name, also shown are tid, status and whether the thread is daemon.

  • If a class has only one instance field, and the field is primitive, field name and its value is shown:

  • For instances of java.nio.Buffer the buffer capacity is immediately shown.

  • The path is immediately shown, if available, for:

    • java.io.RandomAccessFile
    • java.io.FileInputStream
    • java.io.FileOutputStream
    • sun.nio.ch.FileChannelImpl

  • OSGi frameworks:

    • org.osgi.framework.Version - version as string
    • OSGi bundle (org.apache.felix.framework.cache.BundleImpl, org.eclipse.osgi.internal.framework.EquinoxBundle) - symbolic name, version, .jar file path
    • Bundle class loader (org.apache.felix.framework.BundleWiringImpl$BundleClassLoader, org.eclipse.osgi.internal.loader.EquinoxClassLoader) - symbolic name, version, .jar file path of the bundle to which the loader is related. A memory leak warning is also shown if the loader is not associated with any current bundle revision.
    • org.apache.felix.framework.cache.BundleArchive - .jar file path
    • for an OSGi bundle (org.apache.felix.framework.cache.BundleImpl, org.eclipse.osgi.internal.framework.EquinoxBundle), the bundle class loader (org.apache.felix.framework.BundleWiringImpl$BundleClassLoader, org.eclipse.osgi.internal.loader.EquinoxClassLoader) is shown as the pseudo-field <OSGi bundle loader>.
    • and vice versa, for a bundle class loader its OSGi bundle is shown as the pseudo-field <OSGi bundle>.
  • Other:

    • java.io.File
    • java.net.URL
    • java.time.*
    • java.util.Date
    • java.util.jar.JarFile
    • java.util.UUID
    • java.util.zip.ZipFile

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.