可以通过以下算法来判断对象是否为垃圾:在java中,实际上是通过第二种方法来判断

就会出现内存泄露

 

在JAVA语言中,可作为GC Roots的对象包括下面几种:

 

1、虚拟机栈中引用的对象(栈帧中的本地变量表)

2、方法区类静态属性引用的对象

3、方法区常量引用的对象

4、本地方法栈JNI引用的对象(java native interface)

5、活跃线程中引用的对象

 

注:所谓“GC Roots”,就是一组必须活跃的引用(注意是引用而不是对象)。