黑马程序员技术交流社区

标题: 垃圾处理 [打印本页]

作者: 吴新钱    时间: 2011-8-6 09:27
标题: 垃圾处理
我们知道,Java中有一个gc方法来垃圾回收,可是平时的编程很少用到,什么时候需要自己进行垃圾处理呢
作者: 匿名    时间: 2011-8-6 10:41
垃圾收集器系统有自己的一套方案来判断哪个内存块是应该被回收的,哪个是不符合要求暂不回收的。垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使能明确地判断出有一块内存已经无用了,是应该回收的,但是也不能强制垃圾收集器回收该内存块。唯一能做的就是通过调用System. gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。
作者: 匿名    时间: 2011-8-6 11:35
标题: 回复 楼主 的帖子
java语言的优势之一就是“垃圾自动回收机制”,在java中没有强制回收内存这一说法,垃圾收集器是定期会回收垃圾的,这是由这个语言本身所决定的,至于说gc这个方法只是照顾程序员的编程习惯而给出的,在c,c++中程序员都能强制回收内存,等发展到java语言了,一下子没了说不过去啊,所以sun公司说了,给一个建议性的gc吧,免的说三道四的.此方法仅仅建议而已,到点了该回收就回收,没到点你给出N个gc方法它还是不会回收,已经很给程序员面子了.
作者: 匿名    时间: 2011-8-6 12:52
垃圾收集发生的有不可预知性,由于实现了不同的垃圾回收算法和采用了不同的收集机制,所以它有可能是定时发生,有可能是当出现系统空闲CPU资源时发生,也有可能是和原始的垃圾收集一样,等到内存消耗出现极限时发生,这与垃圾收集器的选择和具体的设置都有关系。所以在我们看到,明显需要处理垃圾的时候就可以调用gc方法来请求处理。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2