有关java内存的问题
有如下代码:   
 public   void   foo()   { 
 	List   list   =   new   ArrayList(); 
 	Obj   o1   =   new   Obj(); 
 	Obj   o2   =   new   Obj();  	 
 	list.add(o1); 
 	list.add(o2);  	 
 	o1   =   null; 
 	o2   =   null;  	 
 	Obj   o3   =   list.get(0); 
 	list   =   null; 
 }   
 请问该段代码中的o2最终会被垃圾回收器回收吗?
------解决方案--------------------会,应该在该对象的生命结束的时候
------解决方案--------------------答案是肯定.   
 当执行o2 = null;时,o2就没有任何对象跟它关联了,此时,o2也就是垃圾回收器的回收对象,但此时不一定别回收,因为不确定GC是否在工作,假如正在工作,马上会被回收掉;假如GC还没有运行,o2就会一直存在,直到GC运行.
------解决方案--------------------ls正解,GC的优先级是比较低的
------解决方案--------------------回复人:ieo2004(ieo) ( 一级(初级)) 信誉:97 	2007-3-22 11:16:24 	得分:0 
 ? 	   
 java里面有什么方法可以在foo方法结束前手动释放掉o3所引用对象占用的内存? 
 Top   
 --------------------------   
 无能为力,不敢保证。