解析System.gc()和Runtime.gc()区别
来源:互联网 发布:大数据市场 编辑:程序博客网 时间:2024/06/03 07:48
其实对于这个问题,完全可以通过jdk的API说明文档来给出答案。
首先给出Runtime.gc()方法在API说明文档中的介绍:
gc
public void gc()
- 运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。
名称
gc
代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用gc
方法。方法
System.gc()
是调用此方法的一种传统而便捷的方式。
看到加粗的部分,大家就明白了,其实System.gc()就是通过调用Runtime.gc()来完成的。
如果非要找出点区别的话,那还得再看看System.gc() 在文档中的说明部分,如下:
gc
public static void gc()
- 运行垃圾回收器。
调用
gc
方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。调用
System.gc()
实际上等效于调用:Runtime.getRuntime().gc()
- 另请参见:
Runtime.gc()
如果仔细对比,就会发现System.gc()是个静态方法,也就是说调用System.gc()方法,可以直接调用。而通过Runtime.gc()方法调用时,必须先通过getRuntime方法来得到Runtime实例,然后再调用gc方法,由此可见API说明文档中“方法
System.gc()
是调用此方法的一种传统而便捷的方式 ”的说法还是很准确的”。 0 0
- 解析System.gc()和Runtime.gc()区别
- System.gc(); 与Runtime.gc()的区别
- system.gc()和system.runFinalization()区别作用
- System.gc和System.runFinalization区别
- System.gc和System.runFinalization区别
- System.gc和System.runFinalization区别
- finalize()和system.gc()的区别
- finalize()和system.gc()的区别
- finalize()和system.gc()的区别
- finalize()和system.gc()的区别
- finalize()和system.gc()的区别
- finalize()和System.gc()的区别
- finalize() 和 system.gc() 的区别
- System.gc()和System.runFinalization()
- System.gc()和System.runFinalization()
- Android System.gc()与Runtime.getRuntime().runFinalization()
- System.gc()
- System.gc()
- 赋值操作符与复制构造函数
- eclipse配置tomcat出错
- GNU 汇编
- 【LeetCode】Construct Binary Tree from Preorder and Inorder Traversal
- Hadoop&&mapreduce2014
- 解析System.gc()和Runtime.gc()区别
- 快速入门C++ 05(联合、枚举和类型别名)
- Q_OBJECT的一些注意事项
- HDOJ 题目1269迷宫城堡(并查集)
- Linux TC 带宽管理队列规则
- 什么是实例内部类 Instance inner class有什么语法?
- java中内部类中还有内部类请给实例!
- hadoop Map 100% reduce 0% 问题
- Musical Theme+POJ+后缀数组