public class Demo2 {
	public static void main(String[] args) {
		Runtime run=Runtime.getRuntime();
		System.out.println("1.空闲的内存空间"+run.freeMemory());
		StringBuffer buf=new StringBuffer("");
		for(int i=0;i<5000000;i++){
			buf=buf.append(i);
		}
		System.out.println("2.空闲的内存空间"+run.freeMemory());
		run.gc();
		System.out.println("3.空闲的内存空间"+run.freeMemory());
	}
}
------解决思路----------------------
这很正常,虚拟机的内存不是说一上来就给你分多少,然后就不变了。是会根据程序的需要变化的。
你可以run.totalMemory();看看总内存肯定也是在变化的啊。
------解决思路----------------------
total 是 JVM 申请来的,free 当然就是还没用掉的。
不要把 total 当成你的电脑的所有内存就是了。