社区
Java SE
帖子详情
System.gc()和System.runFinalization()功能一模一样吗???
孤尽JavaSea
2009-08-28 09:49:57
好象在CSDN上,有人说这两者功能一模一样的,既然一样,,在同一个类里,何必定义两个方法。
...全文
358
7
打赏
收藏
System.gc()和System.runFinalization()功能一模一样吗???
好象在CSDN上,有人说这两者功能一模一样的,既然一样,,在同一个类里,何必定义两个方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
humanity
2009-08-29
打赏
举报
回复
如果你想立即 GC,
要按顺序调用2个方法:
gc();
runFinalize(); 它会立即清理内存,不过不知道不同的 JVM 是不是有不同。
我在 Eclipse 插件中用过,确实立即执行。只写一个 gc() 它总是置若罔闻。
meiwenhui
2009-08-29
打赏
举报
回复
只知gc(),还没用过runFinalization()。学习了
lcj_up
2009-08-29
打赏
举报
回复
没用过。。。学习学习。。。
zhangyong20081204
2009-08-29
打赏
举报
回复
我的认识是,runFinalization()是只是执行还没有完成的finalize 方法,还是尽量的。
finalize 方法是所有类继承了Ojbect的。所以应该比gc()还要上层的关系,
孤尽JavaSea
2009-08-29
打赏
举报
回复
感觉还不是很清晰。。
yaoguicheng
2009-08-28
打赏
举报
回复
是否可以这样理解?
前者是把占了内存但是没有利用,同时没有被垃圾回收机制处理的对象尽可能的处理掉。
后者是强制垃圾回收机制尽可能的回收没有被利用的对象,以释放出其占用的内存。
knightzhuwei
2009-08-28
打赏
举报
回复
runFinalization
public static void runFinalization()
运行处于挂起终止状态的所有对象的终止方法。
调用该方法说明 Java 虚拟机做了一些努力运行已被丢弃对象的 finalize 方法,但是这些对象的 finalize 方法至今尚未运行。当控制权从方法调用中返回时,Java 虚拟机已经尽最大努力去完成所有未执行的终止方法。
调用 System.runFinalization() 实际上等效于调用:
Runtime.getRuntime().runFinalization()
gc
public static void gc()
运行垃圾回收器。
调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。
调用 System.gc() 实际上等效于调用:
Runtime.getRuntime().gc()
这两个真的一样么?
Android垃圾回收机制及程序优化System.
gc
在Android开发中,理解垃圾回收(Garbage Collect
ion
,
GC
)机制和如何进行程序优化至关重要,因为这直接影响到应用的性能和用户体验。Java语言内置的垃圾回收机制是自动管理内存的关键特性,它负责清理不再使用的...
java.lang.System类.pdf
- `
run
Final
izat
ion
()`和`
run
Final
izersOnExit()`涉及对象的终止方法,前者运行所有等待终止的对象,后者已过时,因为存在潜在的安全和并发问题。 在实际开发中,`System`类的这些
功能
经常被用来进行日志记录、...
Java System类详解_动力节点Java学院整理
System类的主要
功能
包括: 1. **标准输入输出**: - `System.in`:表示标准输入流,通常是从键盘读取数据。 - `System.out`:表示标准输出流,用于打印信息到控制台。 - `System.err`:表示标准错误流,通常用于...
十分钟速懂java知识点 System类
- `System.
gc
()` 触发垃圾回收,虽然不推荐直接使用,但在某些特定情况下可能需要。 - `System.
run
Final
izat
ion
()` 运行所有已注册的终结器方法。 - `System.exit()` 终止当前的Java虚拟机,给出一个退出状态码。...
基于Android防止内存溢出浅析
虽然通常不应直接调用System.
gc
(),但在特定情况下,如大量对象不再使用且手动清理困难时,可考虑使用System.
run
Final
izat
ion
()和System.
gc
()配合使用,以触发垃圾回收。 总结来说,防止Android应用出现内存溢出,...
Java SE
62,628
社区成员
307,261
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章