首页 > 代码库 > 判定对象是否存活的算法----GC_ROOT算法

判定对象是否存活的算法----GC_ROOT算法

     要应用GC_ROOT算法,判定某个对象是否会被回收,关键是要确定root。

     【

    说到GC roots(GC根),在JAVA语言中,可以当做GC roots的对象有以下几种:

         1、虚拟机栈中的引用的对象。

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

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

         4、本地方法栈中JNI的引用的对象。

         第一和第四种都是指的方法的本地变量表,第二种表达的意思比较清晰,第三种主要指的是声明为final的常量值。

  】

      方法区中存放的是类信息(class文件中的信息)。

      例子:下述的Something和Apple都可以作为root对象。分别对应上述的第2种和第3种。

public AClass{  public static Something;  public static final Apple;   ‘‘‘‘‘‘}

  那么,方法的本地变量表,对应代码中的哪部分呢?

 

待续---------

 

参考资料:

http://www.cnblogs.com/zuoxiaolong/p/jvm3.html