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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾_强 中级黑马   /  2012-5-2 08:37  /  2513 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

首先说:java提供垃圾回收机制,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。但是很多同学又说垃圾回收机制是动态回收无用的对象。
问题1:到底是回收无任何引用的对象占据的内存空间还是回收我们不再使用的对象?有何区别?回收内存空间是否可以说是相当于释放内存的一种方式 ?

问题2:既然Java垃圾回收机制是以不定时方式进行垃圾回收,如何判断他什么时候开始?或者说我是否可以指定什么时候它进行垃圾回收?

问题3:垃圾回收机制是否可以理解为一个线程,并处于一直在运行状态喃?



评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

5 个回复

倒序浏览
回收的是不再使用的对象,也是释放内存的一种方式
回复 使用道具 举报
至于什么时候开始,用不着自己判断,jvm在不定时的时间自动回收
回复 使用道具 举报
jvm是一条线程,是一直处于开启状态,并且有一个监测机制随时监测,发现有垃圾后,并不是马上开启垃圾回收器进行回收,而是会在不定时的时间随时自动回收
回复 使用道具 举报
1.当然是回收内在空间,因为对象要占用内存空间!
2.垃圾回收的时间不能人为设置
3.我也是这样认为,英雄所见略同!
回复 使用道具 举报
1)只有当对象不再被程序中的任何引用变量引用时,它的内存才可能被问收。
2)在任何时候,程序都无法迫使垃圾回收器立即执行垃圾回收操作
2)当垃圾回收器将要回收无用对象的内存时,先调用该对象的finalize()方法,
      该方法有可能使对象复活,导致垃圾回收器取消回收该对象的内存。
3) 垃圾回收器作为低优先级线程独立运行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马