system.gc()和runtime.gc()之间的区别

System.gc()Runtime.gc()之间有什么区别?

两者都是一样的。 System.gc()实际上等同于Runtime.gc()System.gc()内部调用Runtime.gc()

唯一的区别是System.gc()是一个类方法,其中Runtime.gc()是一个实例方法。 所以System.gc()更方便。

从源代码看: System.gc()被实现为

 Runtime.getRuntime().gc(); 

所以这只是一个方便的方法。

看文档

System.gc()等同于Runtime.getRuntime().gc()

Runtime.gc()是一个本地方法,其中System.gc()是非本地方法,该方法又调用Runtime.gc()

在运行时系统中,gc是实例方法,但在系统方法中,gc是静态的。

因为这个原因,我们更喜欢使用system.gc()。

System.gc()的:

1:它是一个类方法(静态方法)。

2:非本地方法(不直接与硬件和系统资源交互的代码)。

3:System.gc(),内部调用Runtime.getRuntime()。gc()。

Runtime.gc():

1:实例方法。

2:本地方法(一种直接与硬件和系统资源交互的编程语言)。