A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王营利 中级黑马   /  2012-11-9 20:10  /  1866 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中垃圾回收机制是怎样回收垃圾的?

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1

查看全部评分

5 个回复

倒序浏览
GC 即垃圾回收是java的一个特性吧  它不向C++一样需要程序员自己控制内存的释放  java会自动的不定期的 清理回收我们产生的垃圾
这里有牛人的解释http://blog.163.com/fanxiaoqc@126/blog/static/331419002011018111239733/

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1

查看全部评分

回复 使用道具 举报
java中垃圾回收器是自动回收垃圾的。关于垃圾回收器不建议主动使用它
回复 使用道具 举报
LZ。。这种问题建议等你把所学知识应用自如再考虑吧。。
java的GC涉及很多技术。不是几句话就能说清楚的。。
回复 使用道具 举报
垃圾回收机制主要包括以下两种情况:
1对象超过其作用范围,则这个对象将被视为垃圾,内存被回收,如下所示
{
     Example e = new Example();
     。。。
}//当对象e超过其作用范围,内存将被回收

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


虽然垃圾回收机制已经很完善了,但垃圾回收器只能回收那些有new操作符创建的对象,如果某些对象不是通过new在内存中获取一块内存,这种对象可能不会被垃圾回收机制所识别。所以在java中提供了一个finalize()方法,这个方法是Object类的方法,它被声明为protected,用户可以在自己的类中定义这个方法。

评分

参与人数 1技术分 +1 收起 理由
朱宏青 + 1 很给力!

查看全部评分

回复 使用道具 举报
我补充下:java中垃圾回收机制,以不定时的方式动态回收无任何引用的对象占据的内存空间。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马