java 小问题 关于实例对象内存回收。。

1.在web工程中的一个方法里实例了一个对象是不是走完这个方法这个对象的内存空间就被收回了?2.如果重复数次调用这个方法,那么每次都实例?每次都回收?会不会有什么问题呢?... 1.在web工程中的一个方法里 实例了一个对象
是不是 走完这个方法这个对象的 内存空间就被收回了?
2.如果重复数次调用这个方法,那么每次都实例?每次都回收?
会不会有什么问题呢?
3.有什么好的建议么?
展开
 我来答
czj880123
推荐于2016-04-13 · TA获得超过592个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:200万
展开全部
首先,你可能对JAVA的垃圾回收机制不了解,那么请看下面一段话(copy过来的)
JAVA垃圾回收机制的特点:
以下两个特性。
1. 自动性。Java技术提供了一个系统级的线程,即垃圾收集器线程,来跟踪每一块分配出去的内存空间,当Java 虚拟机处于空闲循环时,垃圾收集器线程会自动检查每一块分配出去的内存空间,然后自动回收每一块可以回收的无用的内存块。
2. 不可预期性。一个对象成为了垃圾,但是你不能断言,该对象在这行以后就立刻被清除,甚至有可能当程序结束后,该对象仍然占用内存。像Windows这样的软件常常会出现内存不足的情况,JAVA程序很少出现就是因为可以自动回收内存。然而,因为JAVA也不能保证及时地清除无用的对象,所以JAVA程序也会出现内存不足的情况,只是这种情况很少出现。垃圾收集线程在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System.gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的

那么针对你的问题:
1、走完这个方法,这个对象确实变成了垃圾,但是不会立即被收回。只有当垃圾堆积到一定的程度时,虚拟机才会自动回收垃圾。
2、是每次都实例,但不是每次都回收。
不会有问题。
3、在JAVA中,不需要特意去管这个垃圾回收机制,因为垃圾回收的自动性。
即使你调用System.gc()方法,也只是建议虚拟机回收内存,但虚拟机是否立即进行回收是不一定的。
zgh26782000
2011-10-28 · TA获得超过1453个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:498万
展开全部
1 垃圾回收不是你不用立刻就回收的,会自动判断回收的
2 只要对象还有引用就不会被回收,当然没有引用的时候你也调不到他的方法
3 工具类最好用静态方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一只大桃子呀呀
2011-10-28 · TA获得超过570个赞
知道小有建树答主
回答量:261
采纳率:100%
帮助的人:209万
展开全部
1。会被回收,但不是立即,因为你无法命令GC,你只能建议GC
2。可以忽略
3。无所谓
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-29
展开全部
java中有自带的垃圾回收机制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式