用Java调用垃圾回收器(GC)的方式有几种?
Java中的垃圾收集由一个称为GarbageCollector(GC)的守护程序线程进行。无需等待JVM运行垃圾收集器,我们可以请求JVM运行垃圾收集器。无法保证JVM是否会接受我们的请求。
在Java中,我们可以通过两种方式手动调用垃圾收集器
通过使用系统类
通过使用运行时类
通过使用系统类
系统类具有静态方法gc(),该方法用于请求JVM调用垃圾回收器。
示例
public class SystemClassTest { public static void main(String[] args){ SystemClassTest test = new SystemClassTest(); test = null; System.gc(); } public void finalize() { System.out.println("Garbage collected"); } }
输出结果
Garbage collected
通过使用运行时类
运行时是Java中的单例类,我们可以使用getRuntime() 方法获取运行时对象。的GC()方法是从运行时类,它是一个实例方法。
示例
public class RuntimeClassTest { public static void main(String[] args) { RuntimeClassTest test = new RuntimeClassTest(); test = null; Runtime.getRuntime().gc(); } public void finalize() { System.out.println("Garbage Collected"); } }
输出结果
Garbage collected