日期:2014-05-20  浏览次数:20911 次

怎样释放对象所占用的资源?
创建了一个对象,当不再使用时如何释放其所占用的资源(主要是内存)?

------解决方案--------------------
当然你可以用System.gc();但是我们显式的去调用,他还是在不确定的时候回收垃圾内存!
------解决方案--------------------
我们不能控制何时进行垃圾回收,jvm来决定
------解决方案--------------------
先null
再gc
------解决方案--------------------
Object obj = new Object();

.....

obj = null;//清空释放对象

个人认为gc不必要 因为也是交给JVM的垃圾回收机制
------解决方案--------------------
obj = null;//清空释放对象
-------------------------
没有必要吧 JVM会知道obj后面有没有被使用的 没有被使用就回收了
------解决方案--------------------
首先,对像要成为垃圾,其次,可以建议JVM回收(SYSTEM.GC())
------解决方案--------------------
不建议gc,垃圾回收的意义就在于你不需要在乎内存问题
当你觉得内存问题是你构建系统的主要瓶颈的时候,我觉得应该思考如下问题
1 是否当前硬件配置不足以满足运行系统的最小要求
2 是否编码水平不够
3 是否该语言不适合做你所要的开发
------解决方案--------------------
垃圾回收开销较大,如果过多的将对象置null,对性能影响较明显。
------解决方案--------------------
一般来讲不需要特别的调用,GC 自然会回收。如果 GC 无法进行回收,那表明你的代码有问题。
------解决方案--------------------
不建议gc,垃圾回收的意义就在于你不需要在乎内存问题
当你觉得内存问题是你构建系统的主要瓶颈的时候,我觉得应该思考如下问题
1 是否当前硬件配置不足以满足运行系统的最小要求
2 是否编码水平不够
3 是否该语言不适合做你所要的开发
--------------------------------

真的?
------解决方案--------------------
网上还是有很多垃圾回收的文章,不过除非很清楚其机制,还是不推荐用gc
------解决方案--------------------
gc
------解决方案--------------------
System.gc() 是通知系统可以回收了 但什么时候回收就没准了 没有办法来第一时间回收
------解决方案--------------------
真的吗?
--------------------
回复人:TianYaRider(天涯骑士) ( 一级(初级)) 信誉:100
垃圾回收开销较大,如果过多的将对象置null,对性能影响较明显。
------解决方案--------------------
java的一个优势就是gc,如果不用是不是有点可惜啊。
------解决方案--------------------
set it to be null ,then System.gc();
------解决方案--------------------
同意ls的
------解决方案--------------------
> > 垃圾回收开销较大,如果过多的将对象置null,对性能影响较明显。

FT,你真幽默……
------解决方案--------------------
JVM只是在内存面临不足的时候才会起用垃圾回收器,用了gc()也不能立即进行回收,所以建议思考是否需要立即回收,如真的需要,可以使用本地化方法,比如使用VC++的回收机制,这样解决问题,但是使得程序不好移植
------解决方案--------------------
JVM会在一个适当的时候回收无用的对象空间,不用LZ费心