社区
Java SE
帖子详情
谈谈System.gc()的利与弊!
Edwin603
2009-06-04 09:40:05
请各位老鸟说下这个方法的好出与坏处,什么情况用比较好!
...全文
769
21
打赏
收藏
谈谈System.gc()的利与弊!
请各位老鸟说下这个方法的好出与坏处,什么情况用比较好!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fengyun2023
2009-06-07
打赏
举报
回复
不怎么了解。
四十三号
2009-06-07
打赏
举报
回复
不可靠的东西
Edwin603
2009-06-07
打赏
举报
回复
[Quote=引用 19 楼 luxing44530 的回复:]
其实Java中没有任何机制保证程序能强制执行垃圾回收,gc()不行,其他任何方法都不行。
调用gc()只能告诉jvm说,我想现在运行垃圾回收,而jvm究竟什么时间进行,那是jvm自己的事,程序无权干涉
[/Quote]
.... 这个方法就是手动来回收和C++的思想一致! 汗死
你的说法实在难以认同!
lulu0126
2009-06-07
打赏
举报
回复
学习了 谢谢
小_Y
2009-06-07
打赏
举报
回复
其实Java中没有任何机制保证程序能强制执行垃圾回收,gc()不行,其他任何方法都不行。
调用gc()只能告诉jvm说,我想现在运行垃圾回收,而jvm究竟什么时间进行,那是jvm自己的事,程序无权干涉
Edwin603
2009-06-06
打赏
举报
回复
[Quote=引用 12 楼 lierenzhifeng 的回复:]
不建议手动调用垃圾回收机制,因为这个回收机制具有 不确定性。
建议让JVM自动管理。
使用者之需要设置JVM的堆栈大小就可以了,通过JVM的堆栈大小的调节,可以实现Java程序性能的调优,具体的可以Google一下。
[/Quote]
人生来有胳膊,因为他有用!如果人生来,上帝告诉他不建议你用胳膊,因为有不确定性!
那sun公司设计这个类的方法是否很多余?
我在想既然设计了!必然有用他的时候!我曾经想过如果我声称的对象里含有的内容如果很庞大,那当不用的时候,我是不是该用这个方法来主动的回收!
可是关键就是如果我对象很小那么该让jvm自动回收,可是楼上的这些解释我依然无法理解在用这个方法的时候,这个方法是如何给
jvm增加了多余的负担!这个过程我想了解下!
fhqiu13647166580
2009-06-05
打赏
举报
回复
public static void gc()运行垃圾回收器。
调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。
从说明可以知道用gc()时要加大内存消耗,增加CPU负担.所以该方法一般在对内存需求比较大时,考虑该方法,一般情况下不要使用.根据目前的内存容量来看,该方法一般不用.
jxst051665
2009-06-05
打赏
举报
回复
[Quote=引用 5 楼 kingofvc 的回复:]
好处就是 垃圾可以自动回收了
坏处就是 垃圾真的被回收了吗?
[/Quote]
确实
swandragon
2009-06-05
打赏
举报
回复
[Quote=引用 12 楼 lierenzhifeng 的回复:]
不建议手动调用垃圾回收机制,因为这个回收机制具有 不确定性。
建议让JVM自动管理。
使用者之需要设置JVM的堆栈大小就可以了,通过JVM的堆栈大小的调节,可以实现Java程序性能的调优,具体的可以Google一下。
[/Quote]
同意
lierenzhifeng
2009-06-05
打赏
举报
回复
不建议手动调用垃圾回收机制,因为这个回收机制具有 不确定性。
建议让JVM自动管理。
使用者之需要设置JVM的堆栈大小就可以了,通过JVM的堆栈大小的调节,可以实现Java程序性能的调优,具体的可以Google一下。
tfsict2008
2009-06-05
打赏
举报
回复
[Quote=引用 10 楼 Edwin603 的回复:]
引用 5 楼 kingofvc 的回复:
好处就是 垃圾可以自动回收了
坏处就是 垃圾真的被回收了吗?
既然不能保证垃圾真的被回收那这个方法存在的价值是什么
[/Quote]
价值就是建议回收,给个建议而已!
Edwin603
2009-06-05
打赏
举报
回复
[Quote=引用 5 楼 kingofvc 的回复:]
好处就是 垃圾可以自动回收了
坏处就是 垃圾真的被回收了吗?
[/Quote]
既然不能保证垃圾真的被回收那这个方法存在的价值是什么
Edwin603
2009-06-05
打赏
举报
回复
[Quote=引用 8 楼 Mailbomb 的回复:]
偶尔调用一下会优化内存,调用的太频繁会严重降低系统的执行效率。
[/Quote]
请具体分析下!
网络咖啡
2009-06-04
打赏
举报
回复
偶尔调用一下会优化内存,调用的太频繁会严重降低系统的执行效率。
dieyingao
2009-06-04
打赏
举报
回复
标记下,希望有达人来给个详细的解释
zdsonline
2009-06-04
打赏
举报
回复
不太了解 ,关注下
kingofvc
2009-06-04
打赏
举报
回复
好处就是 垃圾可以自动回收了
坏处就是 垃圾真的被回收了吗?
Edwin603
2009-06-04
打赏
举报
回复
继续等人来回答!
weiluo12
2009-06-04
打赏
举报
回复
一旦一个对象不被其他任何对象引用的时候,它就变成可回收的对象了。
你可以使用System.gc()来建议垃圾回收器收集垃圾,但是这并不能保证执行。
x-teamer团队
2009-06-04
打赏
举报
回复
顶一下, 了解不多, 不敢妄语
.NET5跨平台System.IO解析
本内容包含内容是作为一个C#/.NET开发者必须的技术储备;包含了IO操作的各种Api;多种序列化器的使用和封装.
一文让你彻底了解多线程
System . out . println("请大家多多关注");} }System . out . println("Runable:请大家多多关注");} }如果想要执行的线程有返回,可以使用Callable。return "Callable:请大家多多关注";} }CPU的缓存是以缓存行...
java 堆外内存 cleaner,关于JVM堆外内存的一切
但有利必有弊,堆内内存主要有两个缺点:1.
GC
是有成本的,堆中的对象数量越多,
GC
的开销也会越大。2.使用堆内内存进行文件、网络的IO时,JVM会使用堆外内存做一次额外的中转,也就是会多一次内存拷贝。和堆内内存相...
关于JVM堆外内存的一切
但有利必有弊,堆内内存主要有两个缺点:1.
GC
是有成本的,堆中的对象数量越多,
GC
的开销也会越大。2.使用堆内内存进行文件、网络的IO时,JVM会使用堆外内存做一次额外的中转,也就是会多一次内存拷贝。 和堆内内存相...
017-一个线程两次调用start()方法会出现什么情况?
今天我们来深入聊聊线程,相信大家对于线程这个概念都不陌生,它是 Java 并发的...
谈谈
线程的生命周期和状态转移。 典型回答 Java 的线程是不允许启动两次的,第二次调用必然会抛出 IllegalThreadStateExceptio...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章