黑马程序员技术交流社区

标题: java问题 [打印本页]

作者: 王营利    时间: 2012-11-9 20:10
标题: java问题
java中垃圾回收机制是怎样回收垃圾的?

作者: 刘丽娜    时间: 2012-11-9 20:53
GC 即垃圾回收是java的一个特性吧  它不向C++一样需要程序员自己控制内存的释放  java会自动的不定期的 清理回收我们产生的垃圾
这里有牛人的解释http://blog.163.com/fanxiaoqc@126/blog/static/331419002011018111239733/
作者: 马纵驰    时间: 2012-11-9 21:41
java中垃圾回收器是自动回收垃圾的。关于垃圾回收器不建议主动使用它
作者: 陈军    时间: 2012-11-12 09:23
LZ。。这种问题建议等你把所学知识应用自如再考虑吧。。
java的GC涉及很多技术。不是几句话就能说清楚的。。
作者: 陈龙    时间: 2012-11-12 14:41
垃圾回收机制主要包括以下两种情况:
1对象超过其作用范围,则这个对象将被视为垃圾,内存被回收,如下所示
{
     Example e = new Example();
     。。。
}//当对象e超过其作用范围,内存将被回收

2.将对象赋值为null,内存被回收
{
     Example e = new Example();
     。。。
     e = null;
}//当对象e被置为空,内存将被回收


虽然垃圾回收机制已经很完善了,但垃圾回收器只能回收那些有new操作符创建的对象,如果某些对象不是通过new在内存中获取一块内存,这种对象可能不会被垃圾回收机制所识别。所以在java中提供了一个finalize()方法,这个方法是Object类的方法,它被声明为protected,用户可以在自己的类中定义这个方法。
作者: 化小东    时间: 2012-11-14 11:05
我补充下:java中垃圾回收机制,以不定时的方式动态回收无任何引用的对象占据的内存空间。





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