Java垃圾回收之System.gc()方法

先看代码吧

public class GC_Demo {

	public static void main(String[] args) {

		Runtime runtime = Runtime.getRuntime();
		System.out.println(runtime.totalMemory() / 1024 / 1024);

		for (int i = 0; i < 100; i++) {
			new Person(i, "a");
		}

		System.gc();
		System.out.println(runtime.totalMemory() / 1024 / 1024);
	}
}

class Person {

	private int age;
	private String name;

	public Person(int age, String name) {
		this.age = age;
		this.name = name;
	}

	@Override
	public void finalize() throws Throwable {
		System.out.println("开始垃圾回收...");
	}
}
结果:

119
119
开始垃圾回收...
开始垃圾回收...
开始垃圾回收...
开始垃圾回收...

和网上看的其他人说的一样,垃圾回收方法只是通知JVM,具体执行并不确定,在这里并没有对每个对象进行垃圾回收。

猜你喜欢

转载自blog.csdn.net/u013445609/article/details/77987461