huanxuan163
huanxuan163
2017-09-04 01:42
采纳率: 58.3%
浏览 6.1k
已采纳

请问System.gc()这个方法执行后是立即回收内存吗?

 A a = new A();
a = null;
System.gc();

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • u013091103
    smf聆青 2017-09-04 02:41
    已采纳

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

    点赞 7 评论
  • Small_Mouse0
    鼠小 2017-09-04 01:55

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

    很多情况下它会触发主GC

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

    点赞 评论
  • playboyanta123
    show_code 2017-09-04 02:07

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

    点赞 评论

相关推荐