问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java堆内存怎样回收

发布网友 发布时间:2022-04-23 00:41

我来回答

3个回答

热心网友 时间:2023-09-18 04:08

JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾回收也可以清除内存记录碎片。由于创建对象和垃圾回收器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。参考资料:http://blog.csdn.net/zsuguangh/article/details/6429592追问比如如下的这个方法,
void printObj(){
System.out.println(new Object());
}
我的方法执行完了,那么new出来的这个对象什么时候会回收掉。按照垃圾回收机制,是在未来某个不确定的时间段检测有无引用,然后回收,而实际上这个对象压根就没有引用,应该在方法运行完就回收啊。

追答Java的运行机制就是在对象没有被引用的时的空余时间,或者内存不够时会去清理

热心网友 时间:2023-09-18 04:09

堆内存用于存放由new创建的对象和数组,数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉。
http://blog.jobbole.com/37273/

热心网友 时间:2023-09-18 04:09

您这样的思维有问题。在方法未运行或运行结束之前,如何判断该对象没有被引用。A a=new A().若在此就进行回收。那万一在该方法的最后有引用呢。这样就增加了编译错误的异常的可能性。因此,垃圾回收会在方法执行完成后执行。。。望采纳追问我的意思就是如果局部变量指向的堆内存,只在该方法内有效,那么就应该跟回收栈内存一样,在方法执行结束后回收。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沈阳有哪些家居商场 沈阳都有哪些家居城 沈阳市有多少个家具城 沈阳都有什么家具城 沈阳有多少家家俱商城 沈阳家具地方有哪些 沈阳有哪些大型家居 沈阳美凯龙有什么牌子 沈阳家居市场有哪些品牌 消食片饭前还是饭后吃 Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象 c语言内存怎么回收和代码是什么? 苹果7p能用iPad充电器实现快充么 内存回收程序允许程序员直接释放内存 小米max3充电多久 小米max可以用快充3.0吗 小米Max手机无法开机和充电要怎么办? 小米max首次充电充多久 小米max显示充电,但是充不进去电是怎么回事? 支持快充,小米Max3充满电池需要多长时间 小米MAX无法充电问题,怎么解决 小米max3新机充电怎么充 小米max电池怎么充电 为什么小米max原装充电器充电这么慢? 小米max支持快速充电吗 小米Max2充电充不了? 小米max充电慢怎么解决? 小米max充不进去电了? 小米max充满电需要多长时间 蚕为什么会吐丝?? java的内存回收既可以由系统完成也可以由程序员完成吗? Java语言的内存回收机制是什么 内存释放就是内存回收吗? 回收内存什么意思 java如何进行内存自动释放,垃圾回收 运行完C语言程序需要把内存回收? java什么情况会进行内存回收 java关于内存回收的说明 java的内存回收机制是什么呢?程序员能自己手动释放内存么?能指定内存释放时间么? Java程序员是否应该了解内存回收机制? Java的内存自动回收真的是优点吗 GC.Collect()内存回收问题 清理后台程序以回收内存,是否清理?是啥意思 Delphi New Dispose FreeMem 如何回收管理内存 java的垃圾回收机制是否允许程序员指定回收并立即回收不用的内存吗?指定回收就马上能回收吗 - 信息提示 如何恢复uc浏览器删除的缓存视频? 我在UC浏览器下载的视频让我不小心误删了,怎么样可以找回,感谢,拜 在uc浏览器上缓存的视频怎么恢复? 我一不小心,从UC上误删除手机里的视频怎么办