需要手动的把java对象设置为null吗?

ailling 2006-07-12 03:14:08
一个方法内的局部变量,如果这个方法使用完毕了,是不是里面的所有对象都为null了,就可以被垃圾回收器回收了?

一个大的对象里包含了很多小的对象,如果大的对象为null,那么它的所有里面的对象也都为null吧?

我做的web应用程序,运行一段时间后占用的内存越来越多,我怀疑是有些对象没有被垃圾回收

但是不知道是哪些对象? 所以才有这个问题,一个对象使用完以后需要显式的生命 object=null吗?

还有就是,数据库联接Connection conn;和PreparedStatement 使用完后我都这样设置了
conn.close();
prep.close();

是不是还需要设置 conn=null; prep=null ???????????????????
...全文
743 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ryo_Hazuki 2006-07-13
  • 打赏
  • 举报
回复
关闭即可
ray_1981 2006-07-13
  • 打赏
  • 举报
回复
1、2楼正解 !
yown 2006-07-12
  • 打赏
  • 举报
回复
数据库连接一般采用连接池,

对大对象一般要求设为null,这样回收快!
ranranhu 2006-07-12
  • 打赏
  • 举报
回复
java garbage collection 肯定回收了对象,只是回收的时间长短问题
bob_thb 2006-07-12
  • 打赏
  • 举报
回复
不用,运行一段时间后占用的内存越来越多是不是别的问题引起的?
cnyxlxw 2006-07-12
  • 打赏
  • 举报
回复
一 2楼正解 !!!
ttaallkk1 2006-07-12
  • 打赏
  • 举报
回复
一般不需要设为null,方法结束后,java会自动回收。

如果对象所占内存很大的情况下
用完后
你可以设为null
这样回收快些
设为null后
system.gc()效果会更好些
当时,即使这样系统也是马上就垃圾回收
infowain 2006-07-12
  • 打赏
  • 举报
回复
一般不需要设为null,方法结束后,java会自动回收。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧