开发者社区 问答 正文

Java GC做了什么事情?

Java GC做了什么事情?

展开
收起
游客toxlrfghuoiyc 2021-10-22 20:42:30 520 分享 版权
1 条回答
写回答
取消 提交回答
  • 主要做了清理对象,整理内存的工作。Java堆分为新生代和老年代,采用了不同的回收方式。例如新生代采用了复制算法,老年代采用了标记整理法。在新生代中,分为一个Eden 区域和两个Survivor区域,真正使用的是一个Eden区域和一个Survivor区域,GC的时候,会把存活的对象放入到另外一个Survivor区域中,然后再把这个Eden区域和Survivor区域清除。那么对于老年代,采用的是标记整理法,首先标记出存活的对象,然后再移动到一端。这样也有利于减少内存碎片。

    2021-10-22 20:43:03
    赞同 展开评论
问答分类:
问答标签:
问答地址: