一、从虚拟机的内存分区的角度来说有以下3种类型的对象可以作为GC Root: 1.Java虚拟机栈中引用的对象; 2.本地方法栈中Native方法引用的对象; 3.方法区中的静态变量、常量所引用的对象。 二、从程序运行的角度来说,一些在程序运行过程中始终保持存活,不死亡的对象可以作为GC Root,例如静态变量和常量所引用的对象等。