A garbage collection root is an object that is accessible from outside the heap.

Memory Analyzer categorizes garbage collection roots according to the following list:

  • Class loaded by system ClassLoader
    • static field in JDK classes(java.* etc)
  • Live thread
    • stack -local vars, method params
    • java.lang.Thread instance
    • Object held as synchronization monitor
  • JNI references
  • JVM specials…