GC ROOTS(GarbageCollection Roots)垃圾回收根对象集合,是JVM在做垃圾回收时,判断可达到性的根遍历集合。
通过GC ROOTS可以查看哪些对象可以继续存活下来。
一、 类加载器
System Class
Classloaded by bootstrap/system class loader. For example, everything from thert.jar like java.util.* .
根加载器、系统加载器加载的类对象。静态变量引用。
二、 编码过程中可以看得到的
Thread Block
Objectreferred to from a currently active thread block.
Thread
A started,but not stopped, thread.
Busy Monitor
Everythingthat has called wait() or notify() or that is synchronized.For example, by calling synchronized(Object) or by entering asynchronized method. Static method means class, non-static method means object.
活动线程引用对象集合。
线程,启动但没有停止的线程(运行,挂起,阻塞等),相关的对象集合。
与对象锁相关的对象集合。
Java Local
Localvariable. For example, input parameters or locally created objects of methodsthat are still in the stack of a thread.
本地变量引用对象。
Native Stack
In or outparameters in native code, such as user defined JNI code or JVM internal code.This is often the case as many methods have native parts and the objectshandled as method parameters become GC roots. For example, parameters used forfile/network I/O methods or reflection.
JNI Local
Localvariable in native code, such as user defined JNI code or JVM internal code.
JNI Global
Globalvariable in native code, such as user defined JNI code or JVM internal code.
本地方法栈对象集合,
JNI本地对象,和全局对象,本地栈中的对象集合。
三、 JVM内部处理编码过程不可见的
Finalizable
An objectwhich is in a queue awaiting its finalizer to be run.
Unfinalized
An objectwhich has a finalize method, but has not been finalized and is not yet on thefinalizer queue.
拥有finalize()方法的对象,既没有放到finalizer queue队列,也没被调用finalize()的对象。
放到finalizerqueue队列中的对象。
Java Stack Frame
A Javastack frame, holding local variables. Only generated when the dump is parsedwith the preference set to treat Java stack frames as objects.
栈帧对象。
Unknown
An objectof unknown root type. Some dumps, such as IBM Portable Heap Dump files, do nothave root information. For these dumps the MAT parser marks objects which arehave no inbound references or are unreachable from any other root as roots ofthis type. This ensures that MAT retains all the objects in the dump.
未知对象。例如,IBMHeap Dump files.
MAT(Memory Analyzer Tool)
Unreachable
An objectwhich is unreachable from any other root, but has been marked as a root by MATto retain objects which otherwise would not be included in the analysis.
被内存分析工具标记后的对象。