如果程序中不断的执行生成一个对象,再赋值为null,并执行System.gc(),堆还是很快就会满的。
个人分析原因如下:System.gc()这个方法的执行,JVM确实回去清理堆,但是清理的线程的优先级会比较低,所以时间长了堆自然会满的,但是如果在System.gc()这个方法调用之后让主线程有个短暂的暂停,那么堆永远就不会满的。
个人分析原因如下:System.gc()这个方法的执行,JVM确实回去清理堆,但是清理的线程的优先级会比较低,所以时间长了堆自然会满的,但是如果在System.gc()这个方法调用之后让主线程有个短暂的暂停,那么堆永远就不会满的。