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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王红潮 中级黑马   /  2012-8-4 19:58  /  2063 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象用完后,需要手动释放吗?

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 小鼓励一枚!

查看全部评分

5 个回复

倒序浏览
不需要,java有个很好的地方就是垃圾回收机制,java虚拟机会不定时处理不要的数据的。
java垃圾回收------------------------------------------------------------在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾收集意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾收集也可以清除内存记录碎片。由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

回复 使用道具 举报
不需要,java有个很好的地方就是垃圾回收机制,java虚拟机会不定时处理不要的数据的。
java垃圾回收------------------------------------------------------------在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾收集意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾收集也可以清除内存记录碎片。由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。
回复 使用道具 举报
不需要 :
Java有自行一套的 垃圾回收 机制
当不够内存的时候 或者 适当的 时候将会自动回收垃圾
这些有java内核自动运行的、我们程序员不需要管他、
不像C++、还要自己动手回收垃圾、这点Java确实很不错、
回复 使用道具 举报
不需要,Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。
需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,很多人来我公司面试时,我都会问这个问题的,70%以上的人回答的含义是回收对象,实际上这是不正确的。
System.gc()
Runtime.getRuntime().gc()  
上面的方法调用时用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的,这和抢占式的线程在发生作用时的原理一样。
回复 使用道具 举报
java中有垃圾回收机制,它会自动处理的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马