以上过程只是系统自己的垃圾回收机制,程序员不能知道何时何地进行系统回收。
如果程序员想精确控制Java垃圾回收机制,就要使用强制垃圾回收(这种机制只是通知系统进行垃圾回收,但系统是否进行垃圾回收依然不确定)。大部分时候,程序控制系统垃圾回收后总会有一些效果,主要方法可以归纳为
1 调用System类的gc()静态方法:System.gc().
2 调用Runtime对象的gc()实例方法:Runtime.getRuntime().gc().
package Collection; public class GcTest { public static void main(String[] args) { for(int i=0;i<10;i++) { new GcTest(); System.gc(); // Runtime.getRuntime().gc(); } } public void finalize() { System.out.println("系统在清理创建的GcTest()资源"); } }