2 huanxuan163 huanxuan163 于 2017.09.04 09:42 提问

请问System.gc()这个方法执行后是立即回收内存吗?
 A a = new A();
a = null;
System.gc();

把A创建的对象的引用置为空后,执行System.gc();
就立即把创建的这个对象的所占的内存回收掉了吗?
还是说得等到当前内存不足时他才会去回收?System.gc()只是提前让系统去观察下
当前系统的内存情况而已?

3个回答

u013091103
u013091103   2017.09.04 10:41
已采纳

不会的,System.gc();只是建议Java虚拟机对此部分内存进行回收,但是不一定会发生GC

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.04 09:55

【System.gc();】此函数建议JVM进行GC,只是建议而非一定,

很多情况下它会触发主GC

参考链接:http://blog.csdn.net/jiyiqini/article/details/46725647

playboyanta123
playboyanta123   2017.09.04 10:07

视当时内存使用量而定,并不是一定的

Csdn user default icon
上传中...
上传图片
插入图片