tna*_*ser 1 java garbage-collection object
如果我有一个循环并在其中创建一个新对象
for ( int i ; i < 10 ; i++)
{
MyObject obj = new MuObject();
obj.use();
}
Run Code Online (Sandbox Code Playgroud)
我是否需要在开头或结尾的循环内说obj = null以释放该对象使用的内存,或者使用"new"将该对象发送到GC?我可以在内存使用方面看到这个吗?
更新:所以如果我有大对象和长循环,我应该将对象分配为null还是不?
检查一下:http://javarevisited.blogspot.com/2011/04/garbage-collection-in-java.html
"如果从任何活动线程或任何静态引用无法访问对象,则该对象有资格进行垃圾收集或GC".循环结束后,您在循环内创建的对象没有任何指向它们的外部引用,并且有资格进行垃圾回收.
编辑:
如果要查看内存使用情况,可以使用具有此功能的IDE来分析应用程序.例如,NetBeans有一个很好的界面,显示对象分配的实时内存使用情况.
编辑2:
"所以,如果我有大对象和长循环,我应该将对象分配为null还是否?"
不,你不需要这样做.一旦循环的一个迭代完成,也有在该迭代创建的,因此它并不重要,你有一个或长或短回路中的任何对象没有活动的引用.
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |