问题描述
有没有大牛给详细解释下Java垃圾回收机制中对象引用遍历的实现原理,java回收机制中的有向图是何时建立、如何建立,有向图有几个?
解决方案
解决方案二:
垃圾回收在jvm中并没有特定的算法,不同的人可以有不同的实现,未必会使用有向图譬如一种实现可以这样,在没有内存可分配时,直接抛出OutOfMemory都是符合规范的
解决方案三:
该回复于2011-04-07 11:01:48被版主删除
解决方案四:
这个要讲的话就多了
解决方案五:
有本书好像叫深入JVM,你可以找一下,里面解释的很详细
解决方案六:
有深入理解JVM的大牛们给我解释下这段代码为什么会出现这个情况么?packagetest;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Vector;@SuppressWarnings("all")publicclassTest{inti;publicstaticvoidmain(String[]args){Vectorv=newVector(10);for(inti=1;i<100;i++){Testo=newTest();o.i=11;v.add(o);//o.i=10;o=null;}Iterator<Object>i=v.iterator();while(i.hasNext()){System.out.println(String.valueOf(((Test)i.next()).i));}}}我在循环中想vector中添加Test,然后将test置为空,可是最后迭代时,test对象中的i居然还有值。这是怎么回事?
解决方案七:
仔细体会下引用就明白了引用5楼zheng12tian的回复:
有深入理解JVM的大牛们给我解释下这段代码为什么会出现这个情况么?packagetest;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Vector;@SuppressWarnings("all")publicc……
解决方案八:
该回复于2011-04-07 13:52:11被版主删除