4、如何强制垃圾回收一个对象?(java)
检举 | 2008-10-25 19:12 提问者: 路瓶子 | 浏览次数:2956次
4、如何强制垃圾回收一个对象?
A)垃圾回收不能被强制执行。
B)调用System.gc()。
C)调用System.gc(), 将要回收对象的引用作为参数传入。
D)调用Runtime.gc()。
我来帮他解答
2008-10-25 19:27 满意回答
A...不能被强制收回,,,,,,,因为java里关于内存的处理它已经自己都给处理了,不需要你来执行这些操作,,,它里面有一个专门收购垃圾内存的东西,,例如当你创建了一个对象,而这个对象没有一个引用指向他的时候,java自己吧这个没有引用的对象回收了,,,,谢谢
5
| 评论(2)
向TA求助
回答者: huxunxu | 二级
擅长领域: 暂未定制
参加的活动: 暂时没有参加的活动
2008-10-25 19:13 java2000_net | 九级
A)垃圾回收不能被强制执行。
0
| 评论
2008-10-25 19:55 没有响应m2 | 二级
A
垃圾回收器只能回收那些失去引用的对象比如
A a1=new A[];
al=null;
这个时候调用System.gc()的话就能把a1之前指向的A的对象给回收了
0
| 评论
2008-10-25 21:35 yanweimin7 | 四级
必须将所有指向这个对象的引用都设为null;
0
| 评论
2008-10-25 22:13 shiliangxu | 五级
System.gc();应该可以,等同于调用了以下语句:
Runtime().getRuntime().gc();
0
| 评论
2008-10-25 22:30 Dr_juio | 四级
选B
0
| 评论
2008-10-25 23:02 Toolae | 一级
java中根本就不可以强制回收 只可建议虚拟机进行垃圾回收 但建议毕竟是建议 虚拟机可以置之不理
0
| 评论
2008-10-27 12:08 chrnc0000 | 三级
问的就有问题,啥叫强制执行啊,还有人回答,服了
java 文档是这么写的,你可以调用System.gc(),但是,jvm不保证马上就执行垃圾回收动作....
兄弟们啊,不清楚就说部清楚,说错了误人子弟是缺德的事啊
0
| 评论
2008-10-29 15:47 jyt6801749 | 一级
我打个比方吧
垃圾(你家门口的垃圾)
虚拟机(环卫工人)
虚拟机(环卫工人)--- 会随即清除垃圾
你调用System.gc() = 告诉虚拟机(环卫工人)我这里有垃圾;
结果 他可能会马上过来 也可能会等他有空的时候再来 (不存在强制)
所以 调用System.gc() 等于告诉他 我这里有垃圾 仅此而已。